home *** CD-ROM | disk | FTP | other *** search
/ Australian Personal Computer 2000 July / CD 3 / redhat-6.2.iso / RedHat / instimage / usr / lib / python1.5 / site-packages / gtk.py < prev    next >
Encoding:
Python Source  |  2000-02-16  |  99.9 KB  |  2,755 lines

  1. #
  2. # gtk.py: Wrapper for the gtk module.  This one gives an object oriented
  3. #         feel for the library.  Just type "from gtk import *"
  4. #
  5. # Author: James Henstridge <james@daa.com.au>
  6. #
  7. # TODO
  8. # 1. document some of this (maybe all of it)
  9.  
  10. # The _obj argument in each constructor is used to create a gtk object
  11. # that coresponds to an already created GTK Object.  It should be possible
  12. # to call any of the gtk object constructors something like this:
  13. # GtkContainer(_obj=gtk_obj) where gtk_obj is an already created GtkObject.
  14. #
  15. # To make the use of this system easier, you can use the _obj2inst function
  16. # to create a gtk object of the correct type from a GtkObject.  This
  17. # is the function the new() command uses.
  18.  
  19. from GTK import *
  20. import GDK    # make the GDK constants available
  21. import _gtk
  22. import sys, os
  23.  
  24. # this sets up i18n input stuff
  25. _gtk.gtk_set_locale()
  26.  
  27. # initialise GTK (only if it can find the display -- this avoids segfaults)
  28. if '--display' in sys.argv or os.environ.has_key('DISPLAY'):
  29.     _gtk.gtk_init()
  30. else:
  31.     print 'No display information -- gtk_init not called'
  32. del sys, os
  33.  
  34. def GdkColor(red, green, blue, pixel=-1):
  35.     return _gtk.gdk_color_new(red, green, blue, pixel)
  36.  
  37. class GtkObject:
  38.     get_type = _gtk.gtk_object_get_type
  39.     def __init__(self, _obj=None):
  40.         if _obj: self._o = _obj; return
  41.     def set(self, dict):
  42.         _filtprops(dict)
  43.         _gtk.gtk_object_set(self._o, dict)
  44.     def __getitem__(self, key):
  45.         ret = _gtk.gtk_object_get(self._o, key)
  46.         if type(ret) == _gtk.GtkObjectType:
  47.             return _obj2inst(ret)
  48.         else:
  49.             return ret
  50.     def __setitem__(self, key, v):
  51.         if hasattr(v, '_o') and type(v._o) == _gtk.GtkObjectType:
  52.             v = v._o
  53.         elif hasattr(v, '_ag') and type(v._ag)==_gtk.GtkAccelGroupType:
  54.             v = v._ag
  55.         elif hasattr(v, '_im'):
  56.             v = v._im
  57.         _gtk.gtk_object_set(self._o, {key: v});
  58.     def __cmp__(self, other):
  59.             if hasattr(other, '_o'):
  60.             return cmp(self._o, other._o)
  61.         else:
  62.             return cmp(id(self), id(other))
  63.     def __hash__(self):
  64.         return hash(self._o)
  65.     def __getattr__(self, attr):
  66.         # this function allows setting attributes on an object so that
  67.         # they will always be available with the object.  Due to
  68.         # reference counting problems, we can't always pass the
  69.         # same GtkObject instance to a callback.
  70.         #if attr[0] == '_' or not self.__dict__.has_key('_o'):
  71.         #    raise AttributeError, attr
  72.         #dict = self.get_data('Python-Attributes')
  73.         #if dict and dict.has_key(attr):
  74.         #    return dict[attr]
  75.         raise AttributeError, attr
  76.     #def __setattr__(self, attr, value):
  77.     #    if attr[0] == '_' or self.__dict__.has_key(attr) or \
  78.     #       not self.__dict__.has_key('_o'):
  79.     #        self.__dict__[attr] = value
  80.     #    dict = self.get_data('Python-Attributes')
  81.     #    if not dict:
  82.     #        dict = {}
  83.     #        self.set_data('Python-Attributes', dict)
  84.     #    dict[attr] = value
  85.     #def __delattr__(self, attr):
  86.     #    if self.__dict__.has_key(attr):
  87.     #        del self.__dict__[attr]
  88.     #        return
  89.     #    if not self.__dict__.has_key('_o'):
  90.     #        raise AttributeError, \
  91.     #              'delete non-existing instance attribute'
  92.     #    dict = self.get_data('Python-Attributes')
  93.     #    if dict and dict.has_key(attr):
  94.     #        del dict[attr]
  95.     #    else:
  96.     #        raise AttributeError, \
  97.     #              'delete non-existing instance attribute'
  98.             
  99.     def flags(self, mask=None):
  100.         if mask:
  101.             return _gtk.GTK_OBJECT_FLAGS(self._o) & mask
  102.         else:
  103.             return _gtk.GTK_OBJECT_FLAGS(self._o)
  104.     def set_flags(self, flags):
  105.         _gtk.GTK_OBJECT_SET_FLAGS(self._o, flags)
  106.     def unset_flags(self, flags):
  107.         _gtk.GTK_OBJECT_UNSET_FLAGS(self._o, flags)
  108.     def set_data(self, key, value):
  109.         _gtk.gtk_object_set_data(self._o, key, value)
  110.     def get_data(self, key):
  111.         return _gtk.gtk_object_get_data(self._o, key)
  112.     def remove_data(self, key):
  113.         _gtk.gtk_object_remove_data(self._o, key)
  114.     class __cnv:
  115.         def __init__(self, func):
  116.             self.func = func
  117.         def __call__(self, *args):
  118.             a = list(args)
  119.             for i in range(len(args)):
  120.                 if type(args[i]) == _gtk.GtkObjectType:
  121.                     a[i] = _obj2inst(args[i])
  122.                 elif type(args[i]) == _gtk.GtkAccelGroupType:
  123.                     a[i] = GtkAccelGroup(_obj=args[i])
  124.             a = tuple(a)
  125.             ret = apply(self.func, a)
  126.             if hasattr(ret, '_o'): ret = ret._o
  127.             elif hasattr(ret, '_ag'): ret = ret._ag
  128.             elif hasattr(ret, '_im'): ret = ret._im
  129.             return ret
  130.     def connect(self, name, f, *extra):
  131.         callback = self.__cnv(f)
  132.         return _gtk.gtk_signal_connect(self._o, name,
  133.                            callback.__call__, extra)
  134.     signal_connect = connect
  135.     def connect_after(self, name, f, *extra):
  136.         callback = self.__cnv(f)
  137.         return _gtk.gtk_signal_connect_after(self._o, name,
  138.                              callback.__call__, extra)
  139.     signal_connect_after = connect_after
  140.     def connect_object(self, name, f, obj, *extra):
  141.         callback = self.__cnv(f)
  142.         return _gtk.gtk_signal_connect_object(self._o, name,
  143.                               callback.__call__,
  144.                               obj._o, extra)
  145.     signal_connect_object = connect_object
  146.     def connect_object_after(self, name, f, obj, *extra):
  147.         callback = self.__cnv(f)
  148.         return _gtk.gtk_signal_connect_object_after(self._o, name,
  149.                                 callback.__call__,
  150.                                 obj._o, extra)
  151.     signal_connect_after = connect_after
  152.     def disconnect(self, id):
  153.         _gtk.gtk_signal_disconnect(self._o, id)
  154.     def signal_handler_block(self, id):
  155.         _gtk.gtk_signal_handler_block(self._o, id)
  156.     def signal_handler_unblock(self, id):
  157.         _gtk.gtk_signal_handler_unblock(self._o, id)
  158.     def signal_handlers_destroy(self):
  159.         _gtk.gtk_signal_handlers_destroy(self._o)
  160.     def emit(self, signal, *args):
  161.         params = []
  162.         for i in args:
  163.             if hasattr(i, '_o'): params.append(i._o)
  164.             elif hasattr(i, '_ag'): params.append(i._ag)
  165.             elif hasattr(i, '_im'): params.append(i._im)
  166.             else: params.append(i)
  167.         return _gtk.gtk_signal_emitv_by_name(self._o,signal,params)
  168.     def emit_stop_by_name(self, sig):
  169.         _gtk.gtk_signal_emit_stop_by_name(self._o, sig)
  170.     def destroy(self, _obj=None):
  171.         _gtk.gtk_object_destroy(self._o)
  172.  
  173. class GtkData(GtkObject):
  174.     get_type = _gtk.gtk_data_get_type
  175.     def __init__(self, _obj=None):
  176.         if _obj: self._o = _obj; return
  177.  
  178. class GtkAdjustment(GtkData):
  179.     get_type = _gtk.gtk_adjustment_get_type
  180.     def __init__(self, value=0, lower=0, upper=0, step_incr=0, page_incr=0,
  181.             page_size=0, _obj=None):
  182.         if _obj: self._o = _obj; return
  183.         self._o = _gtk.gtk_adjustment_new(value, lower, upper,
  184.                       step_incr, page_incr, page_size)
  185.     def __getattr__(self, attr):
  186.         attrs = {
  187.         'lower': _gtk.gtk_adjustment_get_lower,
  188.         'upper': _gtk.gtk_adjustment_get_upper,
  189.         'value': _gtk.gtk_adjustment_get_value,
  190.         'step_increment': _gtk.gtk_adjustment_get_step_increment,
  191.         'page_increment': _gtk.gtk_adjustment_get_page_increment,
  192.         'page_size': _gtk.gtk_adjustment_get_page_size
  193.         }
  194.         if attrs.has_key(attr):
  195.             return attrs[attr](self._o)
  196.         return GtkData.__getattr__(self, attr)
  197.     def set_value(self, value):
  198.         _gtk.gtk_adjustment_set_value(self._o, value)
  199.     def set_all(self, value, lower, upper, step_increment, page_increment,
  200.             page_size):
  201.         _gtk.gtk_adjustment_set_all(self._o, value, lower, upper,
  202.                         step_increment, page_increment,
  203.                         page_size)
  204.     def clamp_page(self, lower, upper):
  205.         _gtk.gtk_adjustment_clamp_page(self._o, lower, upper)
  206.     def changed(self, obj=None):
  207.         _gtk.gtk_adjustment_changed(self._o)
  208.     def value_changed(self, obj=None):
  209.         _gtk.gtk_adjustment_value_changed(self._o)
  210.  
  211. class GtkTooltips(GtkData):
  212.     get_type = _gtk.gtk_tooltips_get_type
  213.     def __init__(self, _obj=None):
  214.         if _obj: self._o = _obj; return
  215.         self._o = _gtk.gtk_tooltips_new()
  216.     def enable(self):
  217.         _gtk.gtk_tooltips_enable(self._o)
  218.     def disable(self, obj=None):
  219.         _gtk.gtk_tooltips_disable(self._o)
  220.     def set_delay(self, delay):
  221.         _gtk.gtk_tooltips_set_delay(self._o, delay)
  222.     def set_tip(self, w, tip, tip_private=None):
  223.         _gtk.gtk_tooltips_set_tip(self._o, w._o, tip, tip_private)
  224.     def set_tips(self, w, tip):
  225.         print "GtkTooltip.set_tips deprecated -- use set_tip instead"
  226.         self.set_tip(w, tip, tip)
  227.     def set_colors(self, back, fore):
  228.         _gtk.gtk_tooltips_set_colors(self._o, back, fore)
  229.     def force_window(self):
  230.         _gtk.gtk_tooltips_force_window(self._o)
  231.  
  232. class GtkItemFactory(GtkObject):
  233.     get_type = _gtk.gtk_item_factory_get_type
  234.     def __init__(self, type=-1, path='', accel_group=None, _obj=None):
  235.         if _obj: self._o = _obj; return
  236.         if type == -1: type = _gtk.gtk_menu_bar_get_type()
  237.         if hasattr(type, 'get_type'): type = type.get_type()
  238.         self._o = _gtk.gtk_item_factory_new(type,path,accel_group._ag)
  239.     parse_rc = _gtk.gtk_item_factory_parse_rc
  240.     parse_rc_string = _gtk.gtk_item_factory_parse_rc_string
  241.     def get_widget(self, path):
  242.         ret = _gtk.gtk_item_factory_get_widget(self._o, path)
  243.         if ret:
  244.             return _obj2inst(ret)
  245.         else:
  246.             return ret
  247.     def get_widget_by_action(self, action):
  248.         ret = _gtk.gtk_item_factory_get_widget_by_action(self._o,
  249.                                  action)
  250.         if ret:
  251.             return _obj2inst(ret)
  252.         else:
  253.             return ret
  254.     class __wrap_cb:
  255.         def __init__(self, cb):
  256.             self.cb = cb
  257.         def __call__(self, action, widget):
  258.             self.cb(action, _obj2inst(widget))
  259.     def create_items(self, items):
  260.         def map_func((path,accel,cb,action,type), wrap=self.__wrap_cb):
  261.             if cb:
  262.                 return (path,accel,wrap(cb).__call__,action,
  263.                     type)
  264.             else:
  265.                 return (path,accel,None,action,type)
  266.         items = map(map_func, items)
  267.         _gtk.gtk_item_factory_create_items(self._o, items)
  268.     def delete_item(self, path):
  269.         _gtk.gtk_item_factory_delete_item(self._o, path)
  270.     def popup(self, x, y, button, time):
  271.         _gtk.gtk_item_factory_popup(self._o, x, y, button, time)
  272.     def add_foreign(self, accel_widget, full_path, accel_group, keyval,
  273.             modifiers):
  274.         _gtk.gtk_item_factory_add_foreign(accel_widget._o, full_path,
  275.                           accel_group._ag, keyval,
  276.                           modifiers)
  277.  
  278. class GtkWidget(GtkObject):
  279.     get_type = _gtk.gtk_widget_get_type
  280.     def __init__(self, _obj=None):
  281.         if _obj: self._o = _obj; return
  282.     # extra parameter is so that these funcs can be used as signal funcs
  283.     def accelerators_locked(self):
  284.         return _gtk.gtk_widget_accelerators_locked(self._o)
  285.     def activate(self, obj=None):
  286.         return _gtk.gtk_widget_activate(self._o)
  287.     def add_accelerator(self, signal, group, key, mods, flags):
  288.         _gtk.gtk_widget_add_accelerator(self._o, signal, group._ag,
  289.                         key, mods, flags)
  290.     def destroy(self, obj=None):
  291.         _gtk.gtk_widget_destroy(self._o)
  292.     def drag_get_data(self, context, target, time):
  293.         _gtk.gtk_drag_get_data(self._o, context, target, time)
  294.     def drag_finish(self, context, success, delete, time):
  295.         _gtk.gtk_drag_finish(context, success, delete, time)
  296.     def drag_highlight(self):
  297.         _gtk.gtk_drag_highlight(self._o)
  298.     def drag_unhighlight(self):
  299.         _gtk.gtk_drag_unhighlight(self._o)
  300.     # targets is a list of 3-tuples of form
  301.     # (string target, int flags ,int info)
  302.     def drag_dest_set(self, flags, targets, actions):
  303.         _gtk.gtk_drag_dest_set(self._o, flags, targets, actions)
  304.     def drag_dest_set_proxy(self, proxy_window, protocol, use_coordinates):
  305.         _gtk.gtk_drag_dest_set_proxy(self._o, proxy_window, protocol,
  306.                          use_coordinates)
  307.     def drag_dest_unset(self):
  308.         _gtk.gtk_drag_dest_unset(self._o)
  309.     # targets as for drag_dest_set
  310.     def drag_source_set(self, button_mask, targets, actions):
  311.         _gtk.gtk_drag_source_set(self._o, button_mask, targets,actions)
  312.     def drag_source_set_icon(self, colormap, pixmap, mask):
  313.         _gtk.gtk_drag_source_set_icon(self._o, colormap, pixmap, mask)
  314.     # targets as for drag_dest_set
  315.     def drag_begin(self, targets, actions, button, event):
  316.         return _gtk.gtk_drag_begine(self._o, targets, actions, button,
  317.                         event)
  318.     def drag_set_icon_widget(self, context, widget, hot_x, hot_y):
  319.         _gtk.gtk_drag_set_icon_widget(context, widget._o, hot_x, hot_y)
  320.     def drag_set_icon_pixmap(self, context, colormap, pixmap, mask,
  321.                  hot_x, hot_y):
  322.         _gtk.gtk_drag_set_icon_pixmap(context, colormap, pixmap, mask,
  323.                           hot_x, hot_y)
  324.     def drag_set_icon_default(self, context):
  325.         _gtk.gtk_drag_set_icon_default(context)
  326.     def drag_set_default_icon(self, colormap, pixmap, mask, hot_x, hot_y):
  327.         _gtk.gtk_drag_set_default_icon(colormap, pixmap, mask,
  328.                            hot_x, hot_y)
  329.     def drag_get_source_widget(self, context):
  330.         return _obj2inst(_gtk.gtk_drag_get_source_widget(context))
  331.     def drag_status(self, context, action, time):
  332.         _gtk.gdk_drag_status(context, action, time)
  333.     def draw(self, rect):
  334.         _gtk.gtk_widget_draw(self._o, rect)
  335.     def draw_default(self, obj=None):
  336.         _gtk.gtk_widget_draw_default(self._o)
  337.     def draw_focus(self, obj=None):
  338.         _gtk.gtk_widget_draw_focus(self._o)
  339.     def ensure_style(self):
  340.         _gtk.gtk_widget_ensure_style(self._o)
  341.     def event(self, event):
  342.         _gtk.gtk_widget_event(self._o, event)
  343.     def lock_accelerators(self):
  344.         _gtk.gtk_widget_lock_accelerators(self._o)
  345.     def get_allocation(self):
  346.         return _gtk.gtk_widget_get_allocation(self._o)
  347.     def get_ancestor(self, type):
  348.         return _obj2inst(_gtk.gtk_widget_get_ancestor(self._o, type))
  349.     def get_child_requisition(self):
  350.         return _gtk.gtk_widget_get_child_requisition(self._o)
  351.     def get_colormap(self):
  352.         return _gtk.gtk_widget_get_colormap(self._o)
  353.     def get_composite_name(self):
  354.         return _gtk.gtk_widget_get_composite_name(self._o)
  355.     def get_events(self):
  356.         return _gtk.gtk_widget_get_events(self._o)
  357.     def get_extension_events(self):
  358.         return _gtk.gtk_widget_get_extension_events(self._o)
  359.     def get_name(self):
  360.         return _gtk.gtk_widget_get_name(self._o)
  361.     def get_parent_window(self):
  362.         return _gtk.gtk_widget_get_parent_window(self._o)
  363.     def get_pointer(self):
  364.         return _gtk.gtk_widget_get_pointer(self._o)
  365.     def get_style(self):
  366.         return _gtk.gtk_widget_get_style(self._o)
  367.     def get_toplevel(self):
  368.         return _obj2inst(_gtk.gtk_widget_get_toplevel(self._o))
  369.     def get_window(self):
  370.         return _gtk.gtk_widget_get_window(self._o)
  371.     def grab_focus(self, obj=None):
  372.         _gtk.gtk_widget_grab_focus(self._o)
  373.     def grab_default(self, obj=None):
  374.         _gtk.gtk_widget_grab_default(self._o)
  375.     def hide(self, obj=None):
  376.         _gtk.gtk_widget_hide(self._o)
  377.     def hide_all(self, obj=None):
  378.         _gtk.gtk_widget_hide_all(self._o)
  379.     def hide_on_delete(self, obj=None):
  380.         return _gtk.gtk_widget_hide_on_delete(self._o)
  381.     def intersect(self, rect):
  382.         return _gtk.gtk_widget_intersect(self._o, rect)
  383.     def is_ancestor(self, a):
  384.         return _gtk.gtk_widget_is_ancestor(self._o, a._o)
  385.     def map(self, obj=None):
  386.         _gtk.gtk_widget_map(self._o)
  387.     def popup(self, x, y):
  388.         _gtk.gtk_widget_popup(self._o, x, y)
  389.     def queue_draw(self, obj=None):
  390.         _gtk.gtk_widget_queue_draw(self._o)
  391.     def queue_resize(self, obj=None):
  392.         _gtk.gtk_widget_queue_resize(self._o)
  393.     def realize(self, obj=None):
  394.         _gtk.gtk_widget_realize(self._o)
  395.     def remove_accelerator(self, group, key, mods):
  396.         _gtk.gtk_widget_remove_accelerator(self._o, group._ag,
  397.                            key, mods)
  398.     def remove_accelerators(self, signal, visible_only):
  399.         _gtk.gtk_widget_remove_accelerators(self._o, signal,
  400.                             visible_only)
  401.     def reparent(self, new_parent):
  402.         _gtk.gtk_widget_reparent(self._o, new_parent._o)
  403.     def reset_rc_styles(self):
  404.         _gtk.gtk_widget_reset_rc_styles(self._o)
  405.     def restore_default_style(self):
  406.         _gtk.gtk_widget_restore_default_style(self._o)
  407.     def selection_owner_set(self, selection, time):
  408.         return _gtk.gtk_selection_owner_set(self._o, selection, time)
  409.     def selection_add_target(self, selection, target, info):
  410.         _gtk.gtk_selection_add_target(self._o, selection, target, info)
  411.     def selection_convert(self, selection, target, time):
  412.         return _gtk.gtk_selection_convert(self._o, selection,
  413.                           target, time)
  414.     def selection_remove_all(self):
  415.         _gtk.gtk_selection_remove_all(self._o)
  416.     def set_events(self, events):
  417.         _gtk.gtk_widget_set_events(self._o, events)
  418.     def add_events(self, events):
  419.         _gtk.gtk_widget_add_events(self._o, events)
  420.     def set_app_paintable(self, app_paintable):
  421.         _gtk.gtk_widget_set_app_paintable(self._o, app_paintable)
  422.     def set_composite_name(self, name):
  423.         _gtk.gtk_widget_set_composite_name(self._o, name)
  424.     def set_extension_events(self, exevents):
  425.         _gtk.gtk_widget_set_extension_events(self._o, exevents)
  426.     def set_name(self, name):
  427.         _gtk.gtk_widget_set_name(self._o, name)
  428.     def set_parent(self, parent):
  429.         _gtk.gtk_widget_set_parent(self._o, parent._o)
  430.     def set_parent_window(self, parent):
  431.         _gtk.gtk_widget_set_parent_window(self._o, parent)
  432.     def set_scroll_adjustments(self, hadj, vadj):
  433.         _gtk.gtk_widget_set_scroll_adjustments(self._o,hadj._o,vadj._o)
  434.     def set_sensitive(self, s):
  435.         _gtk.gtk_widget_set_sensitive(self._o, s)
  436.     def set_state(self, s):
  437.         _gtk.gtk_widget_set_state(self._o, s)
  438.     def set_style(self, style):
  439.         _gtk.gtk_widget_set_style(self._o, style)
  440.     def set_rc_style(self):
  441.         _gtk.gtk_widget_set_rc_style(self._o)
  442.     def set_uposition(self, x, y):
  443.         _gtk.gtk_widget_set_uposition(self._o, x, y)
  444.     def set_usize(self, w, h):
  445.         _gtk.gtk_widget_set_usize(self._o, w, h)
  446.     def shape_combine_mask(self, mask, ofs_x, ofs_y):
  447.         if hasattr(mask, '_o'):
  448.             tmp, mask = mask.get()
  449.             _gtk.gtk_widget_shape_combine_mask(self._o, mask, ofs_x, ofs_y)
  450.     def show(self, obj=None):
  451.         _gtk.gtk_widget_show(self._o)
  452.     def show_all(self, obj=None):
  453.         _gtk.gtk_widget_show_all(self._o)
  454.     def show_now(self, obj=None):
  455.             _gtk.gtk_widget_show_now(self._o)
  456.     def size_allocate(self, a):
  457.         _gtk.gtk_widget_size_allocate(self._o, a)
  458.     def size_request(self):
  459.         return _gtk.gtk_widget_size_request(self._o)
  460.     def unlock_accelerators(self):
  461.         _gtk.gtk_widget_unlock_accelerators(self._o)
  462.     def unmap(self, obj=None):
  463.         _gtk.gtk_widget_unmap(self._o)
  464.     def unparent(self):
  465.         _gtk.gtk_widget_unparent(self._o)
  466.     def unrealize(self, obj=None):
  467.         _gtk.gtk_widget_unrealize(self._o)
  468.  
  469. class GtkCalendar(GtkWidget):
  470.     get_type = _gtk.gtk_calendar_get_type
  471.     def __init__(self, _obj=None):
  472.         if _obj: self._o = _obj; return
  473.         self._o = _gtk.gtk_calendar_new()
  474.     def select_month(self, month, year):
  475.         return _gtk.gtk_calendar_select_month(self._o, month, year)
  476.     def select_day(self, day):
  477.         _gtk.gtk_calendar_select_day(self._o, day)
  478.     def mark_day(self, day):
  479.         return _gtk.gtk_calendar_mark_day(self._o, day)
  480.     def unmark_day(self, day):
  481.         return _gtk.gtk_calendar_unmark_day(self._o, day)
  482.     def clear_marks(self):
  483.         _gtk.gtk_calendar_clear_marks(self._o)
  484.     def display_options(self, flags):
  485.         _gtk.gtk_calendar_display_options(self._o, flags)
  486.     def get_date(self):
  487.         return _gtk.gtk_calendar_get_date(self._o)
  488.     def freeze(self):
  489.         _gtk.gtk_calendar_freeze(self._o)
  490.     def thaw(self):
  491.         _gtk.gtk_calendar_thaw(self._o)
  492.     
  493. class GtkContainer(GtkWidget):
  494.     get_type = _gtk.gtk_container_get_type
  495.     def __init__(self, _obj=None):
  496.         if _obj: self._o = _obj; return
  497.     def add(self, child, **args):
  498.         if args == {}:
  499.             _gtk.gtk_container_add(self._o, child._o)
  500.         else:
  501.             _gtk.gtk_container_add(self._o, child._o, args)
  502.     def border_width(self, bw):
  503.         print "border_width deprecated -- use set_border_width"
  504.         self.set_border_width(bw)
  505.     def set_border_width(self, bw):
  506.         _gtk.gtk_container_set_border_width(self._o, bw)
  507.     def check_resize(self):
  508.         _gtk.gtk_container_check_resize(self._o)
  509.     def child_composite_name(self, child):
  510.         return _gtk.gtk_container_child_composite_name(self._o,
  511.                                    child._o)
  512.     def child_set(self, child, **args):
  513.         _gtk.gtk_container_child_set(self._o, child._o, args)
  514.     def child_get(self, child, arg):
  515.         return _gtk.gtk_container_child_get(self._o, child._o, arg)
  516.     def children(self):
  517.         l =  _gtk.gtk_container_children(self._o)
  518.         return map(_obj2inst, l)
  519.     def child_type(self):
  520.         return _gtk.gtk_container_child_type(self._o)
  521.     def focus(self, d):
  522.         _gtk.gtk_container_focus(self._o, d)
  523.     def foreach(self, f):
  524.         for child in self.children():
  525.             f(child)
  526.     def register_toplevel(self):
  527.         _gtk.gtk_container_register_toplevel(self._o)
  528.     def remove(self, child):
  529.         _gtk.gtk_container_remove(self._o, child._o)
  530.     def resize_children(self):
  531.         _gtk.gtk_container_resize_children(self._o)
  532.     def set_focus_child(self, child):
  533.         if child: child = child._o
  534.         _gtk.gtk_container_set_focus_child(self._o, child)
  535.     def set_focus_vadjustment(self, adj):
  536.         _gtk.gtk_container_set_focus_vadjustment(self._o, adj._o)
  537.     def set_focus_hadjustment(self, adj):
  538.         _gtk.gtk_container_set_focus_hadjustment(self._o, adj._o)
  539.     def set_resize_mode(self, mode):
  540.         _gtk.gtk_container_set_resize_mode(self._o, mode)
  541.     def unregister_toplevel(self):
  542.         _gtk.gtk_container_unregister_toplevel(self._o)
  543.  
  544. class GtkBin(GtkContainer):
  545.     get_type = _gtk.gtk_bin_get_type
  546.     def __init__(self, _obj=None):
  547.         if _obj: self._o = _obj; return
  548.  
  549. class GtkAlignment(GtkBin):
  550.     get_type = _gtk.gtk_alignment_get_type
  551.     def __init__(self, xa=0, ya=0, xs=0, ys=0, _obj=None):
  552.         if _obj: self._o = _obj; return
  553.         self._o = _gtk.gtk_alignment_new(xa, ya, xs, ys)
  554.     def set(self, xa, ya, xs, ys):
  555.         _gtk.gtk_alignment_set(self._o, xa, ya, xs, ys)
  556.  
  557. class GtkButton(GtkBin):
  558.     get_type = _gtk.gtk_button_get_type
  559.     def __init__(self, label=None, _obj=None):
  560.         if _obj: self._o = _obj; return
  561.         if label == None:
  562.             self._o = _gtk.gtk_button_new()
  563.         else:
  564.             self._o = _gtk.gtk_button_new_with_label(label)
  565.     def pressed(self, obj=None):
  566.         _gtk.gtk_button_pressed(self._o)
  567.     def released(self, obj=None):
  568.         _gtk.gtk_button_released(self._o)
  569.     def clicked(self, obj=None):
  570.         _gtk.gtk_button_clicked(self._o)
  571.     def enter(self, obj=None):
  572.         _gtk.gtk_button_enter(self._o)
  573.     def leave(self, obj=None):
  574.         _gtk.gtk_button_leave(self._o)
  575.     def set_relief(self, style):
  576.         _gtk.gtk_button_set_relief(self._o, style)
  577.     def get_relief(self):
  578.         return _gtk.gtk_button_get_relief(self._o)
  579.  
  580. class GtkOptionMenu(GtkButton):
  581.     get_type = _gtk.gtk_option_menu_get_type
  582.     def __init__(self, _obj=None):
  583.         if _obj: self._o = _obj; return
  584.         self._o = _gtk.gtk_option_menu_new()
  585.     def get_menu(self):
  586.         return _obj2inst(_gtk.gtk_option_menu_get_menu(self._o))
  587.     def set_menu(self, menu):
  588.         _gtk.gtk_option_menu_set_menu(self._o, menu._o)
  589.     def remove_menu(self):
  590.         _gtk.gtk_option_menu_remove_menu(self._o)
  591.     def set_history(self, index):
  592.         _gtk.gtk_option_menu_set_history(self._o, index)
  593.  
  594. class GtkToggleButton(GtkButton):
  595.     get_type = _gtk.gtk_toggle_button_get_type
  596.     def __init__(self, label=None, _obj=None):
  597.         if _obj: self._o = _obj; return
  598.         if label == None:
  599.             self._o = _gtk.gtk_toggle_button_new()
  600.         else:
  601.             self._o = _gtk.gtk_toggle_button_new_with_label(label)
  602.     def __getattr__(self, attr):
  603.         attrs = {
  604.             'active': _gtk.gtk_toggle_button_get_active,
  605.             'draw_indicator':_gtk.gtk_toggle_button_get_draw_indicator,
  606.         }
  607.         if attrs.has_key(attr):
  608.             return attrs[attr](self._o)
  609.         return GtkButton.__getattr__(self, attr)
  610.     def set_mode(self, di):
  611.         _gtk.gtk_toggle_button_set_mode(self._o, di)
  612.     def set_active(self, active):
  613.         _gtk.gtk_toggle_button_set_active(self._o, active)
  614.     def get_active(self):
  615.         return _gtk.gtk_toggle_button_get_active(self._o)
  616.     def toggled(self, obj=None):
  617.         _gtk.gtk_toggle_button_toggled(self._o)
  618.  
  619. class GtkCheckButton(GtkToggleButton):
  620.     get_type = _gtk.gtk_check_button_get_type
  621.     def __init__(self, label=None, _obj=None):
  622.         if _obj: self._o = _obj; return
  623.         if label == None:
  624.             self._o = _gtk.gtk_check_button_new()
  625.         else:
  626.             self._o = _gtk.gtk_check_button_new_with_label(label)
  627.  
  628. class GtkRadioButton(GtkCheckButton):
  629.     get_type = _gtk.gtk_radio_button_get_type
  630.     def __init__(self, group=None, label=None, _obj=None):
  631.         if _obj: self._o = _obj; return
  632.         if label == None:
  633.             if group == None:
  634.                 self._o = _gtk.gtk_radio_button_new()
  635.             else:
  636.                 self._o = \
  637.                     _gtk.gtk_radio_button_new_from_widget(
  638.                         group._o)
  639.         else:
  640.             if group == None:
  641.                 self._o = _gtk.gtk_radio_button_new_with_label(
  642.                     None, label)
  643.             else:
  644.                 self._o = _gtk.gtk_radio_button_new_with_label_from_widget(group._o, label)
  645.  
  646. class GtkFrame(GtkBin):
  647.     get_type = _gtk.gtk_frame_get_type
  648.     def __init__(self, label=None, _obj=None):
  649.         if _obj: self._o = _obj; return
  650.         self._o = _gtk.gtk_frame_new(label)
  651.     def set_label(self, label):
  652.         _gtk.gtk_frame_set_label(self._o, label)
  653.     def set_label_align(self, x, y):
  654.         _gtk.gtk_frame_set_label_align(self._o, x, y)
  655.     def set_shadow_type(self, tp=SHADOW_ETCHED_IN):
  656.         _gtk.gtk_frame_set_shadow_type(self._o, tp)
  657.  
  658. class GtkAspectFrame(GtkFrame):
  659.     get_type = _gtk.gtk_aspect_frame_get_type
  660.     def __init__(self, label=None, xa=0, ya=0, ratio=1, obey_child=1,
  661.              _obj=None):
  662.         if _obj: self._o = _obj; return
  663.         self._o = _gtk.gtk_aspect_frame_new(label, xa, ya, ratio,
  664.                             obey_child)
  665.     def set(self, xa, ya, ratio, obey_child):
  666.         _gtk.gtk_aspect_frame_set(self._o, xa, ya, ratio, obey_child)
  667.  
  668. class GtkEventBox(GtkBin):
  669.     get_type = _gtk.gtk_event_box_get_type
  670.     def __init__(self, _obj=None):
  671.         if _obj: self._o = _obj; return
  672.         self._o = _gtk.gtk_event_box_new()
  673.  
  674. class GtkHandleBox(GtkBin):
  675.     get_type = _gtk.gtk_handle_box_get_type
  676.     def __init__(self, _obj=None):
  677.         if _obj: self._o = _obj; return
  678.         self._o = _gtk.gtk_handle_box_new()
  679.     def set_shadow_type(self, type):
  680.         _gtk.gtk_handle_box_set_shadow_type(self._o, type)
  681.     def set_handle_position(self, position):
  682.         _gtk.gtk_handle_box_set_handle_position(self._o, position)
  683.     def set_snap_edge(self, edge):
  684.         _gtk.gtk_handle_box_set_snap_edge(self._o, edge)
  685.  
  686. class GtkItem(GtkBin):
  687.     get_type = _gtk.gtk_item_get_type
  688.     def __init__(self, _obj=None):
  689.         if _obj: self._o = _obj; return
  690.     def select(self, obj=None):
  691.         _gtk.gtk_item_select(self._o)
  692.     def deselect(self, obj=None):
  693.         _gtk.gtk_item_deselect(self._o)
  694.     def toggle(self, obj=None):
  695.         _gtk.gtk_item_toggle(self._o)
  696.  
  697. class GtkMenuItem(GtkItem):
  698.     get_type = _gtk.gtk_menu_item_get_type
  699.     def __init__(self, label=None, _obj=None):
  700.         if _obj: self._o = _obj; return
  701.         if label == None:
  702.             self._o = _gtk.gtk_menu_item_new()
  703.         else:
  704.             self._o = _gtk.gtk_menu_item_new_with_label(label)
  705.     def set_submenu(self, sub):
  706.         _gtk.gtk_menu_item_set_submenu(self._o, sub._o)
  707.     def set_placement(self, placement):
  708.         _gtk.gtk_menu_item_set_placement(self._o, placement)
  709.     def configure(self, show_toggle, show_sub):
  710.         _gtk.gtk_menu_item_configure(self._o, show_toggle, show_sub)
  711.     def select(self, obj=None):
  712.         _gtk.gtk_menu_item_select(self._o)
  713.     def deselect(self, obj=None):
  714.         _gtk.gtk_menu_item_deselect(self._o)
  715.     def activate(self, obj=None):
  716.         _gtk.gtk_menu_item_activate(self._o)
  717.     def remove_submenu(self):
  718.         _gtk.gtk_menu_item_remove_submenu(self._o)
  719.     def right_justify(self, obj=None):
  720.         _gtk.gtk_menu_item_right_justify(self._o)
  721.         
  722. class GtkCheckMenuItem(GtkMenuItem):
  723.     get_type = _gtk.gtk_check_menu_item_get_type
  724.     def __init__(self, label=None, _obj=None):
  725.         if _obj: self._o = _obj; return
  726.         if label == None:
  727.             self._o = _gtk.gtk_check_menu_item_new()
  728.         else:
  729.             self._o =_gtk.gtk_check_menu_item_new_with_label(label)
  730.     def __getattr__(self, attr):
  731.         attrs = {
  732.             'active': _gtk.gtk_check_menu_item_get_active
  733.         }
  734.         if attrs.has_key(attr):
  735.             return attrs[attr](self._o)
  736.         return GtkMenuItem.__getattr__(self, attr)
  737.     def set_show_toggle(self, always):
  738.         _gtk.gtk_check_menu_item_set_show_toggle(self._o, always)
  739.     def set_active(self, active):
  740.         _gtk.gtk_check_menu_item_set_active(self._o, active)
  741.     def toggled(self, obj=None):
  742.         _gtk.gtk_check_menu_item_toggled(self._o)
  743.  
  744. class GtkRadioMenuItem(GtkCheckMenuItem):
  745.     get_type = _gtk.gtk_radio_menu_item_get_type
  746.     def __init__(self, group=None, label=None, _obj=None):
  747.         if _obj: self._o = _obj; return
  748.         if label == None:
  749.             if group == None:
  750.                 self._o = _gtk.gtk_radio_menu_item_new()
  751.             else:
  752.                 self._o =_gtk.gtk_radio_menu_item_new(group._o)
  753.         else:
  754.             if group == None:
  755.                 self._o=_gtk.gtk_radio_menu_item_new_with_label(
  756.                     None, label)
  757.             else:
  758.                 self._o=_gtk.gtk_radio_menu_item_new_with_label(
  759.                     group._o, label)
  760.  
  761. class GtkTearoffMenuItem(GtkMenuItem):
  762.     get_type = _gtk.gtk_tearoff_menu_item_get_type
  763.     def __init__(self, _obj=None):
  764.         if _obj: self._o = _obj; return
  765.         self._o = _gtk.gtk_tearoff_menu_item_new()
  766.  
  767. class GtkListItem(GtkItem):
  768.     get_type = _gtk.gtk_list_item_get_type
  769.     def __init__(self, label=None, _obj=None):
  770.         if _obj: self._o = _obj; return
  771.         if label == None:
  772.             self._o = _gtk.gtk_list_item_new()
  773.         else:
  774.             self._o = _gtk.gtk_list_item_new_with_label(label)
  775.     def select(self, obj=None):
  776.         _gtk.gtk_list_item_select(self._o)
  777.     def deselect(self, obj=None):
  778.         _gtk.gtk_list_item_deselect(self._o)
  779.  
  780. class GtkTreeItem(GtkItem):
  781.     get_type = _gtk.gtk_tree_item_get_type
  782.     def __init__(self, label=None, _obj=None):
  783.         if _obj: self._o = _obj; return
  784.         if label == None:
  785.             self._o = _gtk.gtk_tree_item_new()
  786.         else:
  787.             self._o = _gtk.gtk_tree_item_new_with_label(label)
  788.     def __getattr__(self, attr):
  789.         attrs = {
  790.             'subtree': _gtk.gtk_tree_item_get_subtree,
  791.             }
  792.         if attrs.has_key(attrs):
  793.             return attrs[attr](self._o)
  794.         return GtkItem.__getattr__(self, attr)
  795.     def set_subtree(self, subtree):
  796.         _gtk.gtk_tree_item_set_subtree(self._o, subtree._o)
  797.     def select(self, obj=None):
  798.         _gtk.gtk_tree_item_select(self._o)
  799.     def deselect(self, obj=None):
  800.         _gtk.gtk_tree_item_deselect(self._o)
  801.     def expand(self, obj=None):
  802.         _gtk.gtk_tree_item_expand(self._o)
  803.     def collapse(self, obj=None):
  804.         _gtk.gtk_tree_item_collapse(self._o)
  805.     def remove_subtree(self):
  806.         _gtk.gtk_tree_item_remove_subtree(self._o)
  807.  
  808. class GtkViewport(GtkBin):
  809.     get_type = _gtk.gtk_viewport_get_type
  810.     def __init__(self, ha=None, va=None, _obj=None):
  811.         if _obj: self._o = _obj; return
  812.         if ha: ha = ha._o
  813.         if va: va = va._o
  814.         self._o = _gtk.gtk_viewport_new(ha, va)
  815.     def get_hadjustment(self):
  816.         return _obj2inst(_gtk.gtk_viewport_get_hadjustment(self._o))
  817.     def get_vadjustment(self):
  818.         return _obj2inst(_gtk.gtk_viewport_get_vadjustment(self._o))
  819.     def set_hadjustment(self, ha):
  820.         _gtk.gtk_viewport_set_hadjustment(self._o, ha._o)
  821.     def set_vadjustment(self, va):
  822.         _gtk.gtk_viewport_set_vadjustment(self._o, va._o)
  823.     def set_shadow_type(self, tp=SHADOW_ETCHED_IN):
  824.         _gtk.gtk_viewport_set_shadow_type(self._o, tp)
  825.  
  826. class GtkWindow(GtkBin):
  827.     get_type = _gtk.gtk_window_get_type
  828.     def __init__(self, type=WINDOW_TOPLEVEL, title=None, _obj=None):
  829.         if _obj: self._o = _obj; return
  830.         self._o = _gtk.gtk_window_new(type)
  831.         if title is not None:
  832.             self.set_title(title)
  833.     def activate_focus(self, obj=None):
  834.         _gtk.gtk_window_activate_focus(self._o)
  835.     def activate_default(self, obj=None):
  836.         _gtk.gtk_window_activate_default(self._o)
  837.     def set_title(self, title):
  838.         _gtk.gtk_window_set_title(self._o, title)
  839.     def set_policy(self, as, ag, autos):
  840.         _gtk.gtk_window_set_policy(self._o, as, ag, autos)
  841.     def add_accel_group(self, group):
  842.         _gtk.gtk_window_add_accel_group(self._o, group._ag)
  843.     def remove_accel_group(self, group):
  844.         _gtk.gtk_window_remove_accel_group(self._o, group._ag)
  845.     def position(self, pos):
  846.         print "position deprecated -- use set_position"
  847.         self.set_position(pos)
  848.     def set_position(self, pos):
  849.         _gtk.gtk_window_set_position(self._o, pos)
  850.     def set_wmclass(self, wmc_name, wmc_class):
  851.         _gtk.gtk_window_set_wmclass(self._o, wmc_name, wmc_class)
  852.     def set_icon(self, pixmap, mask=None):
  853.         if not mask and hasattr(pixmap, '_o'):
  854.             pixmap, mask = pixmap.get()
  855.         _gtk.gtk_window_set_icon(self._o, pixmap, mask)
  856.     def set_icon_name(self, name):
  857.         _gtk.gtk_window_set_icon_name(self._o, name)
  858.     def set_transient_for(self, parent):
  859.         _gtk.gtk_window_set_transient_for(self._o, parent._o)
  860.     def set_geometry_hints(self, geometry_widget=None, **hints):
  861.         # acceptable hints are min_width, min_height, max_width,
  862.         # max_height, base_width, base_height, width_inc, height_inc
  863.         # (with int values) and min_aspect, max_aspect (double values).
  864.         if hasattr(geometry_widget, '_o'):
  865.             geometry_widget = geometry_widget._o
  866.         _gtk.gtk_window_set_geometry_hints(self._o, geometry_widget,
  867.                            hints)
  868.     def set_default_size(self, width, height):
  869.         _gtk.gtk_window_set_default_size(self._o, width, height)
  870.     def set_modal(self, modal):
  871.         _gtk.gtk_window_set_modal(self._o, modal)
  872.  
  873. class GtkColorSelectionDialog(GtkWindow):
  874.     get_type = _gtk.gtk_color_selection_dialog_get_type
  875.     def __init__(self, name="", _obj=None):
  876.         if _obj: self._o = _obj; return
  877.         self._o = _gtk.gtk_color_selection_dialog_new(name)
  878.     def __getattr__(self, attr):
  879.         attrs = {
  880.             'colorsel':_gtk.gtk_color_selection_dialog_get_colorsel,
  881.             'main_vbox':_gtk.gtk_color_selection_dialog_get_main_vbox,
  882.             'ok_button': _gtk.gtk_color_selection_dialog_get_ok_button,
  883.             'reset_button': _gtk.gtk_color_selection_dialog_get_reset_button,
  884.             'cancel_button': _gtk.gtk_color_selection_dialog_get_cancel_button,
  885.             'help_button': _gtk.gtk_color_selection_dialog_get_help_button
  886.         }
  887.         if attrs.has_key(attr):
  888.             return _obj2inst(attrs[attr](self._o))
  889.         return GtkWindow.__getattr__(self, attr)
  890.  
  891. class GtkDialog(GtkWindow):
  892.     get_type = _gtk.gtk_dialog_get_type
  893.     def __init__(self, _obj=None):
  894.         if _obj: self._o = _obj; return
  895.         self._o = _gtk.gtk_dialog_new()
  896.     def __getattr__(self, attr):
  897.         attrs = {
  898.             'vbox': _gtk.gtk_dialog_get_vbox,
  899.             'action_area': _gtk.gtk_dialog_get_action_area
  900.         }
  901.         if attrs.has_key(attr):
  902.             return _obj2inst(attrs[attr](self._o))
  903.         return GtkWindow.__getattr__(self, attr)
  904.  
  905. class GtkFileSelection(GtkWindow):
  906.     get_type = _gtk.gtk_file_selection_get_type
  907.     def __init__(self, title='', _obj=None):
  908.         if _obj: self._o = _obj; return
  909.         self._o = _gtk.gtk_file_selection_new(title)
  910.  
  911.     def __getattr__(self, attr):
  912.         attrs = {
  913.         'cancel_button':   _gtk.gtk_file_selection_get_cancel_button,
  914.         'dir_list':        _gtk.gtk_file_selection_get_dir_list,
  915.         'file_list':       _gtk.gtk_file_selection_get_file_list,
  916.         'help_button':     _gtk.gtk_file_selection_get_help_button,
  917.         'main_vbox':       _gtk.gtk_file_selection_get_main_vbox,
  918.         'ok_button':       _gtk.gtk_file_selection_get_ok_button,
  919.         'selection_entry': _gtk.gtk_file_selection_get_selection_entry,
  920.         'selection_text':  _gtk.gtk_file_selection_get_selection_text
  921.         }
  922.         if attrs.has_key(attr):
  923.             return _obj2inst(attrs[attr](self._o))
  924.         return GtkWindow.__getattr__(self, attr)
  925.     def set_filename(self, filename):
  926.         _gtk.gtk_file_selection_set_filename(self._o, filename)
  927.     def get_filename(self):
  928.         return _gtk.gtk_file_selection_get_filename(self._o)
  929.     def complete(self, pattern):
  930.         _gtk.gtk_file_selection_complete(self._o, pattern)
  931.     def show_fileop_buttons(self):
  932.         _gtk.gtk_file_selection_show_fileop_buttons(self._o)
  933.     def hide_fileop_buttons(self):
  934.         _gtk.gtk_file_selection_hide_fileop_buttons(self._o)
  935.  
  936. class GtkInputDialog(GtkWindow):
  937.     get_type = _gtk.gtk_input_dialog_get_type
  938.     def __init__(self, _obj=None):
  939.         if _obj: self._o = _obj; return
  940.         self._o = _gtk.gtk_input_dialog_new()
  941.     def __getattr__(self, attr):
  942.         attrs = {
  943.             'close_button': _gtk.gtk_input_dialog_get_close_button,
  944.             'save_button': _gtk.gtk_input_dialog_get_save_button
  945.         }
  946.         if attrs.has_key(attr):
  947.             return _obj2inst(attrs[attr](self._o))
  948.         return GtkWindow.__getattr__(self, attr)
  949.  
  950. class GtkFontSelectionDialog(GtkWindow):
  951.     get_type = _gtk.gtk_font_selection_dialog_get_type
  952.     def __init__(self, title=None, _obj=None):
  953.         if _obj: self._o = _obj; return
  954.         self._o = _gtk.gtk_font_selection_dialog_new(title)
  955.     def __getattr__(self, attr):
  956.         attrs = {
  957.         "fontsel": _gtk.gtk_font_selection_dialog_get_fontsel,
  958.         "main_vbox": _gtk.gtk_font_selection_dialog_get_main_vbox,
  959.         "action_area": _gtk.gtk_font_selection_dialog_get_action_area,
  960.         "ok_button": _gtk.gtk_font_selection_dialog_get_ok_button,
  961.         "apply_button":_gtk.gtk_font_selection_dialog_get_apply_button,
  962.         "cancel_button":
  963.                 _gtk.gtk_font_selection_dialog_get_cancel_button
  964.         }
  965.         if attrs.has_key(attr):
  966.             return _obj2inst(attrs[attr](self._o))
  967.         return GtkWindow.__getattr__(self, attr)
  968.     def get_font_name(self):
  969.         return _gtk.gtk_font_selection_dialog_get_font_name(self._o)
  970.     def get_font(self):
  971.         return _gtk.gtk_font_selection_dialog_get_font(self._o)
  972.     def set_font_name(self, name):
  973.         return _gtk.gtk_font_selection_dialog_set_font_name(self._o,
  974.                                     name)
  975.     def get_preview_text(self):
  976.         return _gtk.gtk_font_selection_dialog_get_preview_text(self._o)
  977.     def set_preview_text(self, text):
  978.         _gtk.gtk_font_selection_dialog_set_preview_text(self._o, text)
  979.  
  980. class GtkPlug(GtkWindow):
  981.     get_type = _gtk.gtk_plug_get_type
  982.     def __init__(self, socket_id=-1, _obj=None):
  983.         if _obj: self._o = _obj; return
  984.         self._o = _gtk.gtk_plug_new(socket_id)
  985.  
  986. class GtkBox(GtkContainer):
  987.     get_type = _gtk.gtk_box_get_type
  988.     def __init__(self, _obj=None):
  989.         if nonint: return
  990.     def pack_start(self, child, expand=TRUE, fill=TRUE, padding=0):
  991.         _gtk.gtk_box_pack_start(self._o, child._o, expand,fill,padding)
  992.     def pack_end(self, child, expand=TRUE, fill=TRUE, padding=0):
  993.         _gtk.gtk_box_pack_end(self._o, child._o, expand,fill,padding)
  994.     def reorder_child(self, child, pos):
  995.         _gtk.gtk_box_reorder_child(self._o, child._o, pos)
  996.     def set_homogeneous(self, homogeneous):
  997.         _gtk.gtk_box_set_homogeneous(self._o, homogeneous)
  998.     def set_spacing(self, spacing):
  999.         _gtk.gtk_box_set_spacing(self._o, spacing)
  1000.     def query_child_packing(self, child):
  1001.         return _gtk.gtk_box_query_child_packing(self._o, child._o)
  1002.     def set_child_packing(self, child, expand, fill, padding, pack_type):
  1003.         _gtk.gtk_box_set_child_packing(self._o, child._o, expand, fill,
  1004.                            padding, pack_type)
  1005.  
  1006. class GtkHBox(GtkBox):
  1007.     get_type = _gtk.gtk_hbox_get_type
  1008.     def __init__(self, homogeneous=0, spacing=0, _obj=None):
  1009.         if _obj: self._o = _obj; return
  1010.         self._o = _gtk.gtk_hbox_new(homogeneous, spacing)
  1011.  
  1012. class GtkCombo(GtkHBox):
  1013.     get_type = _gtk.gtk_combo_get_type
  1014.     def __init__(self, _obj=None):
  1015.         if _obj: self._o = _obj; return
  1016.         self._o = _gtk.gtk_combo_new()
  1017.     def disable_activate(self, obj=None):
  1018.         _gtk.gtk_combo_disable_activate(self._o)
  1019.     def set_use_arrows(self, val):
  1020.         _gtk.gtk_combo_set_use_arrows(self._o, val)
  1021.     def set_use_arrows_always(self, val):
  1022.         _gtk.gtk_combo_set_use_arrows_always(self._o, val)
  1023.     def set_case_sensitive(self, val):
  1024.         _gtk.gtk_combo_set_case_sensitive(self._o, val)
  1025.     def set_item_string(self, item, val):
  1026.         _gtk.gtk_combo_set_item_string(self._o, item._o, val)
  1027.     def set_value_in_list(self, val, ok_if_empty):
  1028.         _gtk.gtk_combo_set_value_in_list(self._o, val, ok_if_empty)
  1029.     def set_popdown_strings(self, strings):
  1030.         _gtk.gtk_combo_set_popdown_strings(self._o, strings)
  1031.     def __getattr__(self, attr):
  1032.         attrs = {
  1033.             'entry': _gtk.gtk_combo_get_entry,
  1034.             'list':  _gtk.gtk_combo_get_list
  1035.             }
  1036.         if attrs.has_key(attr):
  1037.             return _obj2inst(attrs[attr](self._o))
  1038.         return GtkHBox.__getattr__(self, attr)
  1039.  
  1040. class GtkStatusbar(GtkHBox):
  1041.     get_type = _gtk.gtk_statusbar_get_type
  1042.     def __init__(self, _obj=None):
  1043.         if _obj: self._o = _obj; return
  1044.         self._o = _gtk.gtk_statusbar_new()
  1045.     def get_context_id(self, desc):
  1046.         return _gtk.gtk_statusbar_get_context_id(self._o, desc)
  1047.     def pop(self, cid):
  1048.         _gtk.gtk_statusbar_pop(self._o, cid)
  1049.     def push(self, cid, text):
  1050.         return _gtk.gtk_statusbar_push(self._o, cid, text)
  1051.     def remove(self, cid, msg_id):
  1052.         _gtk.gtk_statusbar_remove(self._o, cid, msg_id)
  1053.  
  1054. class GtkVBox(GtkBox):
  1055.     get_type = _gtk.gtk_vbox_get_type
  1056.     def __init__(self, homogeneous=0, spacing=0, _obj=None):
  1057.         if _obj: self._o = _obj; return
  1058.         self._o = _gtk.gtk_vbox_new(homogeneous, spacing)
  1059.  
  1060. class GtkColorSelection(GtkVBox):
  1061.     get_type = _gtk.gtk_color_selection_get_type
  1062.     def __init__(self, _obj=None):
  1063.         if _obj: self._o = _obj; return
  1064.         self._o = _gtk.gtk_color_selection_new()
  1065.     def set_update_policy(self, p):
  1066.         _gtk.gtk_color_selection_set_update_policy(self._o, p)
  1067.     def set_opacity(self, use_opacity):
  1068.         _gtk.gtk_color_selection_set_opacity(self._o, use_opacity)
  1069.     def set_color(self, c):
  1070.         _gtk.gtk_color_selection_set_color(self._o, c)
  1071.     def get_color(self):
  1072.         return _gtk.gtk_color_selection_get_color(self._o)
  1073.  
  1074. class GtkGammaCurve(GtkVBox):
  1075.     get_type = _gtk.gtk_gamma_curve_get_type
  1076.     def __init__(self, _obj=None):
  1077.         if _obj: self._o = _obj; return
  1078.         self._o = _gtk.gtk_gamma_curve_new()
  1079.     def __getattr__(self, attr):
  1080.         if attr == 'gamma':
  1081.             return _gtk.gtk_gamma_curve_get_gamma(self._o)
  1082.         attrs = {
  1083.             'curve': _gtk.gtk_gamma_curve_get_curve,
  1084.             'gamma_dialog': _gtk.gtk_gamma_curve_get_gamma_dialog,
  1085.             'gamma_text': _gtk.gtk_gamma_curve_get_gamma_text,
  1086.             'table': _gtk.gtk_gamma_curve_get_table,
  1087.         }
  1088.         if attrs.has_key(attr):
  1089.             return _obj2inst(attrs[attr](self._o))
  1090.         return GtkVBox.__getattr__(self, attr)
  1091.  
  1092. class GtkButtonBox(GtkBox):
  1093.     get_type = _gtk.gtk_button_box_get_type
  1094.     def __init__(self, _obj=None):
  1095.         if _obj: self._o = _obj; return
  1096.     def get_child_size_default(self):
  1097.         return _gtk.gtk_button_box_get_child_size_default()
  1098.     def get_child_ipadding_default(self):
  1099.         return _gtk.gtk_button_box_get_child_ipadding_default()
  1100.     def set_child_size_default(self, mw, mh):
  1101.         _gtk.gtk_button_box_set_child_size_default(mw, mh)
  1102.     def set_child_ipadding_default(self, ix, iy):
  1103.         _gtk.gtk_button_box_set_child_ipadding_default(ix, iy)
  1104.     def get_spacing(self):
  1105.         return _gtk.gtk_button_box_get_spacing(self._o)
  1106.     def get_layout(self):
  1107.         return _gtk.gtk_button_box_get_layout(self._o)
  1108.     def get_child_size(self):
  1109.         return _gtk.gtk_button_box_get_child_size(self._o)
  1110.     def get_child_ipadding(self):
  1111.         return _gtk.gtk_button_box_get_child_ipadding(self._o)
  1112.     def set_spacing(self, spacing):
  1113.         _gtk.gtk_button_box_set_spacing(self._o, spacing)
  1114.     def set_layout(self, layout):
  1115.         _gtk.gtk_button_box_set_layout(self._o, layout)
  1116.     def set_child_size(self, mw, mh):
  1117.         _gtk.gtk_button_box_set_child_size(self._o, mw, mh)
  1118.     def set_child_ipadding(self, ix, iy):
  1119.         _gtk.gtk_button_box_set_child_ipadding(self._o, ix, iy)
  1120.  
  1121. class GtkHButtonBox(GtkButtonBox):
  1122.     get_type = _gtk.gtk_hbutton_box_get_type
  1123.     def __init__(self, _obj=None):
  1124.         if _obj: self._o = _obj; return
  1125.         self._o = _gtk.gtk_hbutton_box_new()
  1126.     def get_spacing_default(self):
  1127.         return _gtk.gtk_hbutton_box_get_spacing_default()
  1128.     def get_layout_default(self):
  1129.         return _gtk.gtk_hbutton_box_get_layout_default()
  1130.     def set_spacing_default(self, spacing):
  1131.         _gtk.gtk_hbutton_box_set_spacing_default(spacing)
  1132.     def set_layout_default(self, layout):
  1133.         _gtk.gtk_hbutton_box_set_layout_default(layout)
  1134.  
  1135. class GtkVButtonBox(GtkButtonBox):
  1136.     get_type = _gtk.gtk_vbutton_box_get_type
  1137.     def __init__(self, _obj=None):
  1138.         if _obj: self._o = _obj; return
  1139.         self._o = _gtk.gtk_vbutton_box_new()
  1140.     def get_spacing_default(self):
  1141.         return _gtk.gtk_vbutton_box_get_spacing_default()
  1142.     def get_layout_default(self):
  1143.         return _gtk.gtk_vbutton_box_get_layout_default()
  1144.     def set_spacing_default(self, spacing):
  1145.         _gtk.gtk_vbutton_box_set_spacing_default(spacing)
  1146.     def set_layout_default(self, layout):
  1147.         _gtk.gtk_vbutton_box_set_layout_default(layout)
  1148.  
  1149. class GtkCList(GtkContainer):
  1150.     get_type = _gtk.gtk_clist_get_type
  1151.     def __init__(self, cols=1, titles=None, _obj=None):
  1152.         if _obj: self._o = _obj; return
  1153.         if titles == None:
  1154.             self._o = _gtk.gtk_clist_new(cols)
  1155.         else:
  1156.             self._o = _gtk.gtk_clist_new_with_titles(cols, titles)
  1157.     def __getattr__(self, attr):
  1158.         attrs = {
  1159.             'selection':_gtk.gtk_clist_get_selection,
  1160.             'focus_row':_gtk.gtk_clist_get_focus_row,
  1161.             'rows':_gtk.gtk_clist_get_rows,
  1162.         }
  1163.         if attrs.has_key(attr):
  1164.             return attrs[attr](self._o)
  1165.         return GtkContainer.__getattr__(self, attr)
  1166.     def append(self, values):
  1167.         return _gtk.gtk_clist_append(self._o, values)
  1168.     def clear(self, obj=None):
  1169.         _gtk.gtk_clist_clear(self._o)
  1170.     def column_title_active(self, col):
  1171.         _gtk.gtk_clist_column_title_active(self._o, col)
  1172.     def column_title_passive(self, col):
  1173.         _gtk.gtk_clist_column_title_passive(self._o, col)
  1174.     def column_titles_active(self, obj=None):
  1175.         _gtk.gtk_clist_column_titles_active(self._o)
  1176.     def column_titles_hide(self, obj=None):
  1177.         _gtk.gtk_clist_column_titles_hide(self._o)
  1178.     def column_titles_passive(self, obj=None):
  1179.         _gtk.gtk_clist_column_titles_passive(self._o)
  1180.     def column_titles_show(self, obj=None):
  1181.         _gtk.gtk_clist_column_titles_show(self._o)
  1182.     def columns_autosize(self):
  1183.         return _gtk.gtk_clist_columns_autosize(self._o)
  1184.     def find_row_from_data(self, data):
  1185.         return _gtk.gtk_clist_find_row_from_data(self._o, data)
  1186.     def freeze(self, obj=None):
  1187.         _gtk.gtk_clist_freeze(self._o)
  1188.     def get_cell_style(self, row, col):
  1189.         return _gtk.gtk_clist_get_cell_style(self._o, row, col)
  1190.     def get_cell_type(self, r, c):
  1191.         return _gtk.gtk_clist_get_cell_type(self._o, r, c)
  1192.     def get_column_title(self, col):
  1193.         return _gtk.gtk_clist_get_column_title(self._o, col)
  1194.     def get_column_widget(self, col):
  1195.         return _obj2inst(_gtk.gtk_clist_get_column_widget(self._o,col))
  1196.     def get_column_width(self, col):
  1197.         return _gtk.gtk_clist_get_column_width(self._o, col)
  1198.     def get_row_data(self, row):
  1199.         return _gtk.gtk_clist_get_row_data(self._o, row)
  1200.     def get_row_style(self, row):
  1201.         return _gtk.gtk_clist_get_row_style(self._o, row)
  1202.     def get_text(self, r, c):
  1203.         return _gtk.gtk_clist_get_text(self._o, r, c)
  1204.     def get_pixmap(self, r, c):
  1205.         return _gtk.gtk_clist_get_pixmap(self._o, r, c)
  1206.     def get_pixtext(self, r, c):
  1207.         return _gtk.gtk_clist_get_pixtext(self._o, r, c)
  1208.     def get_selectable(self, row):
  1209.         return _gtk.gtk_clist_get_selectable(self._o, row)
  1210.     def get_selection_info(self, x, y):
  1211.         return _gtk.gtk_clist_get_selection_info(self._o, x, y)
  1212.     def insert(self, row, values):
  1213.         return _gtk.gtk_clist_insert(self._o, row, values)
  1214.     def moveto(self, row=-1, col=-1, row_align=0.5, col_align=0.5):
  1215.         _gtk.gtk_clist_moveto(self._o, row, col, row_align, col_align)
  1216.     def optimal_column_width(self, col):
  1217.         return _gtk.gtk_clist_optimal_column_width(self._o, col)
  1218.     def remove(self, row):
  1219.         _gtk.gtk_clist_remove(self._o, row)
  1220.     def row_is_visible(self, row):
  1221.         return _gtk.gtk_clist_row_is_visible(self._o, row)
  1222.     def row_move(self, source_row, dest_row):
  1223.         _gtk.gtk_clist_row_move(self._o, source_row, dest_row)
  1224.     def select_all(self):
  1225.         _gtk.gtk_clist_select_all(self._o)
  1226.     def select_row(self, row, col):
  1227.         _gtk.gtk_clist_select_row(self._o, row, col)
  1228.     def set_auto_sort(self, auto_sort):
  1229.         _gtk.gtk_clist_set_auto_sort(self._o, auto_sort)
  1230.     def set_background(self, row, colour):
  1231.         _gtk.gtk_clist_set_background(self._o, row, colour)
  1232.     def set_cell_style(self, row, col, style):
  1233.         _gtk.gtk_clist_set_cell_style(self._o, row, col, style)
  1234.     def set_column_auto_resize(self, col, auto):
  1235.         _gtk.gtk_clist_set_column_auto_resize(self._o, col, auto)
  1236.     def set_column_justification(self, col, just):
  1237.         _gtk.gtk_clist_set_column_justification(self._o, col, just)
  1238.     def set_column_max_width(self, col, width):
  1239.         _gtk.gtk_clist_set_column_max_width(self._o, col, width)
  1240.     def set_column_min_width(self, col, width):
  1241.         _gtk.gtk_clist_set_column_min_width(self._o, col, width)
  1242.     def set_column_resizeable(self, col, resizeable):
  1243.         _gtk.gtk_clist_set_column_resizeable(self._o, col, resizeable)
  1244.     def set_column_title(self, col, title):
  1245.         _gtk.gtk_clist_set_column_title(self._o, col, title)
  1246.     def set_column_visibility(self, col, visible):
  1247.         _gtk.gtk_clist_set_column_visibility(self._o, col, visible)
  1248.     def set_column_widget(self, col, w):
  1249.         _gtk.gtk_clist_set_column_widget(self._o, col, w._o)
  1250.     def set_column_width(self, col, width):
  1251.         _gtk.gtk_clist_set_column_width(self._o, col, width)
  1252.     def set_foreground(self, row, colour):
  1253.         _gtk.gtk_clist_set_foreground(self._o, row, colour)
  1254.     def set_hadjustment(self, adj):
  1255.         _gtk.gtk_clist_set_hadjustment(self._o, adj._o)
  1256.     def set_vadjustment(self, adj):
  1257.         _gtk.gtk_clist_set_vadjustment(self._o, adj._o)
  1258.     def get_hadjustment(self):
  1259.         return GtkAdjusment(_obj=
  1260.                     _gtk.gtk_clist_get_hadjustment(self._o))
  1261.     def get_vadjustment(self):
  1262.         return GtkAdjusment(_obj=
  1263.                     _gtk.gtk_clist_get_vadjustment(self._o))
  1264.     def set_reorderable(self, reorderable):
  1265.         _gtk.gtk_clist_set_reorderable(self._o, reorderable)
  1266.     def set_use_drag_icons(self, use_icons):
  1267.         _gtk.gtk_clist_set_use_drag_icons(self._o, use_icons)
  1268.     def set_button_actions(self, button, button_actions):
  1269.         _gtk.gtk_clist_set_button_actions(self._o, button,
  1270.                           button_actions)
  1271.     def set_row_data(self, row, data):
  1272.         _gtk.gtk_clist_set_row_data(self._o, row, data)
  1273.     def set_row_height(self, height):
  1274.         _gtk.gtk_clist_set_row_height(self._o, height)
  1275.     def set_row_style(self, row, style):
  1276.         _gtk.gtk_clist_set_row_style(self._o, row, style)
  1277.     def set_shift(self, row, col, v, h):
  1278.         _gtk.gtk_clist_set_shift(self._o, row, col, v, h)
  1279.     def set_selectable(self, row, selectable):
  1280.         _gtk.gtk_clist_set_selectable(self._o, row, selectable)
  1281.     def set_selection_mode(self, mode):
  1282.         _gtk.gtk_clist_set_selection_mode(self._o, mode)
  1283.     def set_shadow_type(self, border):
  1284.         _gtk.gtk_clist_set_shadow_type(self._o, border)
  1285.     def set_sort_column(self, col):
  1286.         _gtk.gtk_clist_set_sort_column(self._o, col)
  1287.     def set_sort_type(self, sort_type):
  1288.         _gtk.gtk_clist_set_sort_type(self._o, sort_type)
  1289.     def set_text(self, r, c, text):
  1290.         _gtk.gtk_clist_set_text(self._o, r, c, text)
  1291.     def set_pixmap(self, r, c, pixmap, mask=None):
  1292.         if not mask and hasattr(pixmap, '_o'):
  1293.             pixmap, mask = pixmap.get()
  1294.         _gtk.gtk_clist_set_pixmap(self._o, r, c, pixmap, mask)
  1295.     def set_pixtext(self, r, c, text, spacing, pixmap, mask=None):
  1296.         if not mask and hasattr(pixmap, '_o'):
  1297.             pixmap, mask = pixmap.get()
  1298.         _gtk.gtk_clist_set_pixtext(self._o, r, c, text, spacing,
  1299.                        pixmap, mask)
  1300.     def sort(self):
  1301.         _gtk.gtk_clist_sort(self._o)
  1302.     def swap_rows(self, row1, row2):
  1303.         _gtk.gtk_clist_swap_rows(self._o, row1, row2)
  1304.     def thaw(self):
  1305.         _gtk.gtk_clist_thaw(self._o)
  1306.     def undo_selection(self):
  1307.         _gtk.gtk_clist_undo_selection(self._o)
  1308.     def unselect_all(self):
  1309.         _gtk.gtk_clist_unselect_all(self._o)
  1310.     def unselect_row(self, row, col):
  1311.         _gtk.gtk_clist_unselect_row(self._o, row, col)
  1312.  
  1313. class GtkCTree(GtkCList):
  1314.     get_type = _gtk.gtk_ctree_get_type
  1315.     def __init__(self, cols=1, tree_col=0, titles=None, _obj=None):
  1316.         if _obj: self._o = _obj; return
  1317.         if titles == None:
  1318.             self._o = _gtk.gtk_ctree_new(cols, tree_col)
  1319.         else:
  1320.             self._o = _gtk.gtk_ctree_new_with_titles(cols,
  1321.                                  tree_col,
  1322.                                  titles)
  1323.     def __getattr__(self, attr):
  1324.         attrs = {
  1325.             'selection':_gtk.gtk_ctree_get_selection,
  1326.         }
  1327.         if attrs.has_key(attr):
  1328.             return attrs[attr](self._o)
  1329.         return GtkCList.__getattr__(self, attr)
  1330.     def base_nodes(self):
  1331.         # this returns a list of the base nodes.  Useful for recursion
  1332.         return _gtk.gtk_ctree_base_nodes(self._o)
  1333.     def insert_node(self, parent, sibling, text, spacing=5,
  1334.             pixmap_closed=None, mask_closed=None,
  1335.             pixmap_opened=None, mask_opened=None, is_leaf=TRUE,
  1336.             expanded=FALSE):
  1337.         # parent and sibling can also be None
  1338.         return _gtk.gtk_ctree_insert_node(self._o, parent, sibling,
  1339.                           text, spacing,
  1340.                           pixmap_closed, mask_closed,
  1341.                           pixmap_opened, mask_opened,
  1342.                           is_leaf, expanded)
  1343.     def remove_node(self, node):
  1344.         _gtk.gtk_ctree_remove_node(self._o, node)
  1345.     def is_viewable(self, node):
  1346.         return _gtk.gtk_ctree_is_viewable(self._o, node)
  1347.     def last(self, node):
  1348.         return _gtk.gtk_ctree_last(self._o, node)
  1349.     def node_nth(self, row):
  1350.         return _gtk.gtk_ctree_node_nth(self._o, row)
  1351.     def find(self, node, child):
  1352.         return _gtk.gtk_ctree_find(self._o, node, child)
  1353.     def is_ancestor(self, node, child):
  1354.         return _gtk.gtk_ctree_is_ancestor(self._o, node, child)
  1355.     def find_by_row_data(self, node, data):
  1356.         return _gtk.gtk_ctree_find_by_row_data(self._o, node, data)
  1357.     def find_all_by_row_data(self, node, data):
  1358.         return _gtk.gtk_ctree_find_all_by_row_data(self._o, node, data)
  1359.     def is_hot_spot(self, x, y):
  1360.         return _gtk.gtk_ctree_is_hot_spot(self._o, x, y)
  1361.     def move(self, node, new_parent, new_sibling):
  1362.         _gtk.gtk_ctree_move(self._o, node, new_parent, new_sibling)
  1363.     def expand(self, node):
  1364.         _gtk.gtk_ctree_expand(self._o, node)
  1365.     def expand_recursive(self, node):
  1366.         _gtk.gtk_ctree_expand_recursive(self._o, node)
  1367.     def expand_to_depth(self, node, depth):
  1368.         _gtk.gtk_ctree_expand_to_depth(self._o, node, depth)
  1369.     def collapse(self, node):
  1370.         _gtk.gtk_ctree_collapse(self._o, node)
  1371.     def collapse_recursive(self, node):
  1372.         _gtk.gtk_ctree_collapse_recursive(self._o, node)
  1373.     def collapse_to_depth(self, node, depth):
  1374.         _gtk.gtk_ctree_collapse_to_depth(self._o, node, depth)
  1375.     def toggle_expansion(self, node):
  1376.         _gtk.gtk_ctree_toggle_expansion(self._o, node)
  1377.     def toggle_expansion_recursive(self, node):
  1378.         _gtk.gtk_ctree_toggle_expansion_recursive(self._o, node)
  1379.     def select(self, node):
  1380.         _gtk.gtk_ctree_select(self._o, node)
  1381.     def select_recursive(self, node):
  1382.         _gtk.gtk_ctree_select_recursive(self._o, node)
  1383.     def unselect(self, node):
  1384.         _gtk.gtk_ctree_unselect(self._o, node)
  1385.     def unselect_recursive(self, node):
  1386.         _gtk.gtk_ctree_unselect_recursive(self._o, node)
  1387.     def real_select_recursive(self, node, state):
  1388.         _gtk.gtk_ctree_real_select_recursive(self._o, node, state)
  1389.     def node_set_text(self, node, col, text):
  1390.         _gtk.gtk_ctree_node_set_text(self._o, node, col, text)
  1391.     def node_set_pixmap(self, node, col, pixmap, mask):
  1392.         _gtk.gtk_ctree_node_set_pixmap(self._o, node, col, pixmap,mask)
  1393.     def node_set_pixtext(self, node, col, text, spacing, pixmap, mask):
  1394.         _gtk.gtk_ctree_node_set_pixtext(self._o, node, col, text,
  1395.                         spacing, pixmap, mask)
  1396.     def set_node_info(self, node, text, spacing, pixmap_closed,
  1397.               mask_closed, pixmap_opened, mask_opened, is_leaf,
  1398.               expanded):
  1399.         _gtk.gtk_ctree_set_node_info(self._o, node, text, spacing,
  1400.                          pixmap_closed, mask_closed,
  1401.                          pixmap_opened, mask_opened,
  1402.                          is_leaf, expanded)
  1403.     def node_set_shift(self, node, col, vert, horiz):
  1404.         _gtk.gtk_ctree_node_set_shift(self._o, node, col, vert, horiz)
  1405.     def node_get_selectable(self, node):
  1406.         return _gtk.gtk_ctree_node_get_selectable(self._o, node)
  1407.     def node_set_selectable(self, node, selectable):
  1408.         _gtk.gtk_ctree_node_set_selectable(self._o, node, selectable)
  1409.     def node_get_cell_type(self, node, col):
  1410.         return _gtk.gtk_ctree_node_get_cell_type(self._o, node, col)
  1411.     def node_get_text(self, node, col):
  1412.         return _gtk.gtk_ctree_node_get_text(self._o, node, col)
  1413.     def node_get_pixmap(self, node, col):
  1414.         return _gtk.gtk_ctree_node_get_pixmap(self._o, node, col)
  1415.     def node_get_pixtext(self, node, col):
  1416.         return _gtk.gtk_ctree_node_get_pixtext(self._o, node, col)
  1417.     def get_node_info(self, node):
  1418.         return _gtk.gtk_ctree_get_node_info(self._o, node)
  1419.     def node_set_row_style(self, node, style):
  1420.         _gtk.gtk_ctree_node_set_row_style(self._o, node, style)
  1421.     def node_get_row_style(self, node):
  1422.         return _gtk.gtk_ctree_node_get_row_style(self._o, node)
  1423.     def node_set_cell_style(self, node, col, style):
  1424.         _gtk.gtk_ctree_node_set_row_style(self._o, node, col, style)
  1425.     def node_get_cell_style(self, node, col):
  1426.         return _gtk.gtk_ctree_node_get_row_style(self._o, node, col)
  1427.     def node_set_foreground(self, node, color):
  1428.         _gtk.gtk_ctree_node_set_foreground(self._o, node, color)
  1429.     def node_set_background(self, node, color):
  1430.         _gtk.gtk_ctree_node_set_background(self._o, node, color)
  1431.     def node_set_row_data(self, node, data):
  1432.         _gtk.gtk_ctree_node_set_row_data(self._o, node, data)
  1433.     def node_get_row_data(self, node):
  1434.         return _gtk.gtk_ctree_node_get_row_data(self._o, node)
  1435.     def node_moveto(self, node, col, row_align, col_align):
  1436.         _gtk.gtk_ctree_node_moveto(self._o, node, col, row_align,
  1437.                        col_align)
  1438.     def node_is_visible(self, node):
  1439.         return _gtk.gtk_ctree_node_is_visible(self._o, node)
  1440.     def set_indent(self, indent):
  1441.         _gtk.gtk_ctree_set_indent(self._o, indent)
  1442.     def set_spacing(self, spacing):
  1443.         _gtk.gtk_ctree_set_spacing(self._o, spacing)
  1444.     def set_show_stub(self, show_stub):
  1445.         _gtk.gtk_ctree_set_show_stub(self._o, show_stub)
  1446.     def set_line_style(self, style):
  1447.         _gtk.gtk_ctree_set_line_style(self._o, style)
  1448.     def set_expander_style(self, style):
  1449.         _gtk.gtk_ctree_set_expander_style(self._o, style)
  1450.     def sort_node(self, node):
  1451.         _gtk.gtk_ctree_sort_node(self._o, node)
  1452.     def sort_recursive(self, node):
  1453.         _gtk.gtk_ctree_sort_recursive(self._o, node)
  1454.  
  1455. class GtkFixed(GtkContainer):
  1456.     get_type = _gtk.gtk_fixed_get_type
  1457.     def __init__(self, _obj=None):
  1458.         if _obj: self._o = _obj; return
  1459.         self._o = _gtk.gtk_fixed_new()
  1460.     def put(self, child, x, y):
  1461.         _gtk.gtk_fixed_put(self._o, child._o, x, y)
  1462.     def move(self, child, x, y):
  1463.         _gtk.gtk_fixed_move(self._o, child._o, x, y)
  1464.  
  1465. class GtkLayout(GtkContainer):
  1466.     get_type = _gtk.gtk_layout_get_type
  1467.     def __init__(self, hadj=None, vadj=None, _obj=None):
  1468.         if _obj: self._o = _obj; return
  1469.         if hadj and vadj:
  1470.             self._o = _gtk.gtk_layout_new(hadj._o, vadj._o)
  1471.         else:
  1472.             self._o = _gtk.gtk_layout_new()
  1473.     def put(self, child, x, y):
  1474.         _gtk.gtk_layout_put(self._o, child._o, x, y)
  1475.     def move(self, child, x, y):
  1476.         _gtk.gtk_layout_move(self._o, child._o, x, y)
  1477.     def set_size(self, width, height):
  1478.         _gtk.gtk_layout_set_size(self._o, width, height)
  1479.     def freeze(self):
  1480.         _gtk.gtk_layout_freeze(self._o)
  1481.     def thaw(self):
  1482.         _gtk.gtk_layout_thaw(self._o)
  1483.     def get_hadjustment(self):
  1484.         return GtkAdjustment(
  1485.             _obj=_gtk.gtk_layout_get_hadjustment(self._o))
  1486.     def get_vadjustment(self):
  1487.         return GtkAdjustment(
  1488.             _obj=_gtk.gtk_layout_get_vadjustment(self._o))
  1489.     def set_hadjustment(self, adj):
  1490.         _gtk.gtk_layout_set_hadjustment(self._o, adj._o)
  1491.     def set_vadjustment(self, adj):
  1492.         _gtk.gtk_layout_set_vadjustment(self._o, adj._o)
  1493.  
  1494. class GtkList(GtkContainer):
  1495.     get_type = _gtk.gtk_list_get_type
  1496.     def __init__(self, _obj=None):
  1497.         if _obj: self._o = _obj; return
  1498.         self._o = _gtk.gtk_list_new()
  1499.     def get_selection(self):
  1500.         l = _gtk.gtk_list_get_selection(self._o)
  1501.         return map(_obj2inst, l)
  1502.     def insert_items(self, items, pos):
  1503.         items = map(lambda i: i._o, items)
  1504.         _gtk.gtk_list_insert_items(self._o, items, pos)
  1505.     def append_items(self, items):
  1506.         items = map(lambda i: i._o, items)
  1507.         _gtk.gtk_list_append_items(self._o, items)
  1508.     def prepend_items(self, items):
  1509.         items = map(lambda i: i._o, items)
  1510.         _gtk.gtk_list_prepend_items(self._o, items)
  1511.     def remove_items(self, items):
  1512.         items = map(lambda i: i._o, items)
  1513.         _gtk.gtk_list_remove_items(self._o, items)
  1514.     def clear_items(self, start, end):
  1515.         _gtk.gtk_list_clear_items(self._o, start, end)
  1516.     def select_item(self, item):
  1517.         _gtk.gtk_list_select_item(self._o, item)
  1518.     def unselect_item(self, item):
  1519.         _gtk.gtk_list_unselect_item(self._o, item)
  1520.     def select_child(self, child):
  1521.         _gtk.gtk_list_select_child(self._o, child._o)
  1522.     def unselect_child(self, child):
  1523.         _gtk.gtk_list_unselect_child(self._o, child._o)
  1524.     def child_position(self, child):
  1525.         return _gtk.gtk_list_child_position(self._o, child._o)
  1526.     def set_selection_mode(self, mode):
  1527.         _gtk.gtk_list_set_selection_mode(self._o, mode)
  1528.     def extend_selection(self, scroll_type, pos, auto):
  1529.         _gtk.gtk_list_extend_selection(self._o, scroll_type, pos, auto)
  1530.     def start_selection(self):
  1531.         _gtk.gtk_list_start_selection(self._o)
  1532.     def end_selection(self):
  1533.         _gtk.gtk_list_end_selection(self._o)
  1534.     def select_all(self):
  1535.         _gtk.gtk_list_select_all(self._o)
  1536.     def unselect_all(self):
  1537.         _gtk.gtk_list_unselect_all(self._o)
  1538.     def scroll_horizontal(self, scroll_type, pos):
  1539.         _gtk.gtk_list_scroll_horizontal(self._o, scroll_type, pos)
  1540.     def scroll_vertical(self, scroll_type, pos):
  1541.         _gtk.gtk_list_scroll_vertical(self._o, scroll_type, pos)
  1542.     def toggle_add_mode(self):
  1543.         _gtk.gtk_list_toggle_add_mode(self._o)
  1544.     def toggle_focus_row(self):
  1545.         _gtk.gtk_list_toggle_focus_row(self._o)
  1546.     def toggle_row(self, item):
  1547.         _gtk.gtk_list_toggle_row(self._o, item._o)
  1548.     def undo_selection(self):
  1549.         _gtk.gtk_list_undo_selection(self._o)
  1550.     def end_drag_selection(self):
  1551.         _gtk.gtk_list_end_drag_selection(self._o)
  1552.  
  1553. class GtkMenuShell(GtkContainer):
  1554.     get_type = _gtk.gtk_menu_shell_get_type
  1555.     def __init__(self, _obj=None):
  1556.         if _obj: self._o = _obj; return
  1557.     def append(self, child):
  1558.         _gtk.gtk_menu_shell_append(self._o, child._o)
  1559.     def prepend(self, child):
  1560.         _gtk.gtk_menu_shell_prepend(self._o, child._o)
  1561.     def insert(self, child, pos):
  1562.         _gtk.gtk_menu_shell_insert(self._o, child._o, pos)
  1563.     def deactivate(self, obj=None):
  1564.         _gtk.gtk_menu_shell_deactivate(self._o)
  1565.     def select_item(self, item):
  1566.         _gtk.gtk_menu_shell_select_item(self._o, item._o)
  1567.     def deselect(self):
  1568.         _gtk.gtk_menu_shell_deselect(self._o)
  1569.     def activate_item(self, item, force_deactivate):
  1570.         _gtk.gtk_menu_shell_activate_item(self._o, item._o,
  1571.                           force_deactivate)
  1572.  
  1573. class GtkMenuBar(GtkMenuShell):
  1574.     get_type = _gtk.gtk_menu_bar_get_type
  1575.     def __init__(self, _obj=None):
  1576.         if _obj: self._o = _obj; return
  1577.         self._o = _gtk.gtk_menu_bar_new()
  1578.     def append(self, child):
  1579.         _gtk.gtk_menu_bar_append(self._o, child._o)
  1580.     def prepend(self, child):
  1581.         _gtk.gtk_menu_bar_prepend(self._o, child._o)
  1582.     def insert(self, child, pos):
  1583.         _gtk.gtk_menu_bar_insert(self._o, child._o, pos)
  1584.     def set_shadow_type(self, type):
  1585.         _gtk.gtk_menu_bar_set_shadow_type(self._o, type)
  1586.  
  1587. class GtkMenu(GtkMenuShell):
  1588.     get_type = _gtk.gtk_menu_get_type
  1589.     def __init__(self, _obj=None):
  1590.         if _obj: self._o = _obj; return
  1591.         self._o = _gtk.gtk_menu_new()
  1592.     def append(self, child):
  1593.         _gtk.gtk_menu_append(self._o, child._o)
  1594.     def prepend(self, child):
  1595.         _gtk.gtk_menu_prepend(self._o, child._o)
  1596.     def insert(self, child, pos):
  1597.         _gtk.gtk_menu_insert(self._o, child._o, pos)
  1598.     def popup(self, pms, pmi, func, button, time):
  1599.         if pms: pms = pms._o
  1600.         if pmi: pmi = pmi._o
  1601.         _gtk.gtk_menu_popup(self._o, pms, pmi, func, button, time)
  1602.     def reposition(self):
  1603.         _gtk.gtk_menu_reposition(self._o)
  1604.     def popdown(self, obj=None):
  1605.         _gtk.gtk_menu_popdown(self._o)
  1606.     def get_active(self):
  1607.         return _obj2inst(_gtk.gtk_menu_get_active(self._o))
  1608.     def get_attach_widget(self):
  1609.         return _obj2inst(_gtk.gtk_menu_get_attach_widget(self._o))
  1610.     def detach(self):
  1611.         _gtk.gtk_menu_detach(self._o)
  1612.     def set_active(self, index):
  1613.         _gtk.gtk_menu_set_active(self._o, index)
  1614.     def set_accel_group(self, group):
  1615.         _gtk.gtk_menu_set_accel_group(self._o, group._ag)
  1616.     def get_accel_group(self):
  1617.         return GtkAccelGroup(_obj=
  1618.                      _gtk.gtk_menu_get_accel_group(self._o))
  1619.     def set_tearoff_state(self, torn_off):
  1620.         _gtk.gtk_menu_set_tearoff_state(self._o, torn_off)
  1621.     def set_title(self, title):
  1622.         _gtk.gtk_menu_set_title(self._o, title)
  1623.     def reorder_child(self, child, position):
  1624.         _gtk.gtk_menu_reorder_child(self._o, child._o, position)
  1625.  
  1626. class GtkNotebook(GtkContainer):
  1627.     get_type = _gtk.gtk_notebook_get_type
  1628.     def __init__(self, _obj=None):
  1629.         if _obj: self._o = _obj; return
  1630.         self._o = _gtk.gtk_notebook_new()
  1631.     def append_page(self, child, tab):
  1632.         _gtk.gtk_notebook_append_page(self._o, child._o, tab._o)
  1633.     def append_page_menu(self, child, tab, ml):
  1634.         _gtk.gtk_notebook_append_page_menu(self._o, child._o, tab._o,
  1635.                            ml._o)
  1636.     def prepend_page(self, child, tab):
  1637.         _gtk.gtk_notebook_prepend_page(self._o, child._o, tab._o)
  1638.     def prepend_page_menu(self, child, tab, ml):
  1639.         _gtk.gtk_notebook_prepend_page_menu(self._o, child._o, tab._o,
  1640.                             ml._o)
  1641.     def insert_page(self, child, tab, pos):
  1642.         _gtk.gtk_notebook_insert_page(self._o, child._o, tab._o, pos)
  1643.     def insert_page_menu(self, child, tab, ml, pos):
  1644.         _gtk.gtk_notebook_insert_page_menu(self._o, child._o, tab._o,
  1645.                            ml._o, pos)
  1646.     def remove_page(self, pos):
  1647.         _gtk.gtk_notebook_remove_page(self._o, pos)
  1648.     def current_page(self):
  1649.         print "current_page deprecated -- use get_current_page"
  1650.         return self.current_page()
  1651.     def get_current_page(self):
  1652.         return _gtk.gtk_notebook_get_current_page(self._o)
  1653.     def get_nth_page(self, page_num):
  1654.         return _obj2inst(_gtk.gtk_notebook_get_nth_page(self._o,
  1655.                                 page_num))
  1656.     def page_num(self, child):
  1657.         return _gtk.gtk_notebook_page_num(self._o, child._o)
  1658.     def set_page(self, pos):
  1659.         _gtk.gtk_notebook_set_page(self._o, pos)
  1660.     def next_page(self, obj=None):
  1661.         _gtk.gtk_notebook_next_page(self._o)
  1662.     def prev_page(self, obj=None):
  1663.         _gtk.gtk_notebook_prev_page(self._o)
  1664.     def reorder_child(self, child, pos):
  1665.         _gtk.gtk_notebook_reorder_child(self._o, child._o, pos)
  1666.     def set_tab_border(self, border):
  1667.         _gtk.gtk_notebook_set_tab_border(self._o, border)
  1668.     def set_tab_hborder(self, tab_hborder):
  1669.         _gtk.gtk_notebook_set_tab_hborder(self._o, tab_hborder)
  1670.     def set_tab_vborder(self, tab_vborder):
  1671.         _gtk.gtk_notebook_set_tab_hborder(self._o, tab_vborder)
  1672.     def get_tab_pos(self):
  1673.         return _gtk.gtk_notebook_get_tab_pos(self._o)
  1674.     def set_tab_pos(self, pos):
  1675.         _gtk.gtk_notebook_set_tab_pos(self._o, pos)
  1676.     def set_homogeneous_tabs(self, homog):
  1677.         _gtk.gtk_notebook_set_homogeneous_tabs(self._o, homog)
  1678.     def set_scrollable(self, scrollable):
  1679.         _gtk.gtk_notebook_set_scrollable(self._o, scrollable)
  1680.     def set_show_tabs(self, show):
  1681.         _gtk.gtk_notebook_set_show_tabs(self._o, show)
  1682.     def set_show_border(self, show):
  1683.         _gtk.gtk_notebook_set_show_border(self._o, show)
  1684.     def popup_enable(self, obj=None):
  1685.         _gtk.gtk_notebook_popup_enable(self._o)
  1686.     def popup_disable(self, obj=None):
  1687.         _gtk.gtk_notebook_popup_disable(self._o)
  1688.     def query_tab_label(self, child):
  1689.         print "query_tab_label deprecated -- use get_tab_label"
  1690.         return self.get_tab_label(child)
  1691.     def get_tab_label(self, child):
  1692.         return _obj2inst(_gtk.gtk_notebook_get_tab_label(self._o,
  1693.                                  child._o))
  1694.     def set_tab_label(self, child, tab_label):
  1695.         _gtk.gtk_notebook_set_tab_label(self._o, child._o,
  1696.                         tab_label._o)
  1697.     def set_tab_label_text(self, child, tab_text):
  1698.         _gtk.gtk_notebook_set_tab_label_text(self._o, child._o,
  1699.                              tab_text)
  1700.     def query_menu_label(self, child):
  1701.         print "query_menu_label deprecated -- use get_menu_label"
  1702.         return self.get_menu_label(child)
  1703.     def get_menu_label(self, child):
  1704.         return _obj2inst(_gtk.gtk_notebook_get_menu_label(self._o,
  1705.                                   child._o))
  1706.     def set_menu_label(self, child, menu_label):
  1707.         _gtk.gtk_notebook_set_menu_label(self._o, child._o,
  1708.                         menu_label._o)
  1709.     def set_menu_label_text(self, child, menu_text):
  1710.         _gtk.gtk_notebook_set_menu_label(self._o, child._o, menu_text)
  1711.     def query_tab_label_packing(self, child):
  1712.         # returns (expand,fill,pack_type)
  1713.         return _gtk.gtk_notebook_query_tab_label_packing(self._o,
  1714.                                  child._o)
  1715.     def set_tab_label_packing(self, child, expand, fill, pack_type):
  1716.         _gtk.gtk_notebook_set_tab_label_packing(self._o, child._o,
  1717.                             expand, fill,
  1718.                             pack_type)
  1719.  
  1720. class GtkFontSelection(GtkNotebook):
  1721.     get_type = _gtk.gtk_font_selection_get_type
  1722.     def __init__(self, _obj=None):
  1723.         if _obj: self._o = _obj; return
  1724.         self._o = _gtk.gtk_font_selection_new()
  1725.     def get_font_name(self):
  1726.         return _gtk.gtk_font_selection_get_font_name(self._o)
  1727.     def get_font(self):
  1728.         return _gtk.gtk_font_selection_get_font(self._o)
  1729.     def set_font_name(self, name):
  1730.         return _gtk.gtk_font_selection_set_font_name(self._o, name)
  1731.     def get_preview_text(self):
  1732.         return _gtk.gtk_font_selection_get_preview_text(self._o)
  1733.     def set_preview_text(self, text):
  1734.         _gtk.gtk_font_selection_set_preview_text(self._o, text)
  1735.  
  1736. class GtkPacker(GtkContainer):
  1737.     get_type = _gtk.gtk_packer_get_type
  1738.     def __init__(self, _obj=None):
  1739.         if _obj: self._o = _obj; return
  1740.         self._o = _gtk.gtk_packer_new()
  1741.     def add_defaults(self, child, side, anchor, options):
  1742.         _gtk.gtk_packer_add_defaults(self._o, child._o, side, anchor,
  1743.                          options)
  1744.     def add(self, child, side=SIDE_TOP, anchor=ANCHOR_CENTER,
  1745.         options=0, border_width=0, pad_x=0, pad_y=0,
  1746.          i_pad_x=0, i_pad_y=0):
  1747.         _gtk.gtk_packer_add(self._o, child._o, side, anchor, options,
  1748.                     border_width, pad_x, pad_y, i_pad_x,
  1749.                     i_pad_y)
  1750.     def configure(self, child, side, anchor, options, border_width, pad_x,
  1751.               pad_y, i_pad_x, i_pad_y):
  1752.         print "configure deprecated -- use set_child_packing"
  1753.         self.set_child_packing(child, side, anchor, options,
  1754.                        border_width, pad_x, pad_y, i_pad_x,
  1755.                        i_pad_y)
  1756.     def set_child_packing(self, child, side, anchor, options,
  1757.                   border_width, pad_x, pad_y, i_pad_x, i_pad_y):
  1758.         _gtk.gtk_packer_set_child_packing(self._o, child._o, side,
  1759.                           anchor, options,
  1760.                           border_width, pad_x, pad_y,
  1761.                           i_pad_x, i_pad_y)
  1762.     def reorder_child(self, child, pos):
  1763.         _gtk.gtk_packer_reorder_child(self._o, child._o, pos)
  1764.     def set_spacing(self, spacing):
  1765.         _gtk.gtk_packer_set_spacing(self._o, spacing)
  1766.     def set_default_pad(self, pad_x, pad_y):
  1767.         _gtk.gtk_packer_set_default_pad(self._o, pad_x, pad_y)
  1768.     def set_default_ipad(self, i_pad_x, i_pad_y):
  1769.         _gtk.gtk_packer_set_default_ipad(self._o, i_pad_x, i_pad_y)
  1770.  
  1771. class GtkPaned(GtkContainer):
  1772.     get_type = _gtk.gtk_paned_get_type
  1773.     def __init__(self, _obj=None):
  1774.         if _obj: self._o = _obj; return
  1775.     def add1(self, child):
  1776.         _gtk.gtk_paned_add1(self._o, child._o)
  1777.     def add2(self, child):
  1778.         _gtk.gtk_paned_add2(self._o, child._o)
  1779.     def pack1(self, child, resize=TRUE, shrink=TRUE):
  1780.         _gtk.gtk_paned_pack1(self._o, child._o, resize, shrink)
  1781.     def pack2(self, child, resize=TRUE, shrink=TRUE):
  1782.         _gtk.gtk_paned_pack2(self._o, child._o, resize, shrink)
  1783.     def set_position(self, position):
  1784.         _gtk.gtk_paned_set_position(self._o, position)
  1785.     def handle_size(self, size):
  1786.         print "handle_size deprecated -- use set_handle_size"
  1787.         self.set_handle_size(size)
  1788.     def set_handle_size(self, size):
  1789.         _gtk.gtk_paned_set_handle_size(self._o, size)
  1790.     def gutter_size(self, size):
  1791.         print "gutter_size deprecated -- use set_gutter_size"
  1792.         self.set_gutter_size(size)
  1793.     def set_gutter_size(self, size):
  1794.         _gtk.gtk_paned_set_gutter_size(self._o, size)
  1795.  
  1796. class GtkHPaned(GtkPaned):
  1797.     get_type = _gtk.gtk_hpaned_get_type
  1798.     def __init__(self, _obj=None):
  1799.         if _obj: self._o = _obj; return
  1800.         self._o = _gtk.gtk_hpaned_new()
  1801.  
  1802. class GtkVPaned(GtkPaned):
  1803.     get_type = _gtk.gtk_vpaned_get_type
  1804.     def __init__(self, _obj=None):
  1805.         if _obj: self._o = _obj; return
  1806.         self._o = _gtk.gtk_vpaned_new()
  1807.  
  1808. class GtkScrolledWindow(GtkBin):
  1809.     get_type = _gtk.gtk_scrolled_window_get_type
  1810.     def __init__(self, hadj=None, vadj=None, _obj=None):
  1811.         if _obj: self._o = _obj; return
  1812.         if hadj: hadj = hadj._o
  1813.         if vadj: vadj = vadj._o
  1814.         self._o = _gtk.gtk_scrolled_window_new(hadj, vadj)
  1815.     def get_hadjustment(self):
  1816.         return _obj2inst(_gtk.gtk_scrolled_window_get_hadjustment(
  1817.             self._o))
  1818.     def get_vadjustment(self):
  1819.         return _obj2inst(_gtk.gtk_scrolled_window_get_vadjustment(
  1820.             self._o))
  1821.     def set_hadjustment(self, adjustment):
  1822.         _gtk.gtk_scrolled_window_set_hadjustment(self._o,adjustment._o)
  1823.     def set_vadjustment(self, adjustment):
  1824.         _gtk.gtk_scrolled_window_set_vadjustment(self._o,adjustment._o)
  1825.     def set_policy(self, hp, vp):
  1826.         _gtk.gtk_scrolled_window_set_policy(self._o, hp, vp)
  1827.     def set_placement(self, window_place):
  1828.         _gtk.gtk_scrolled_window_set_placement(self._o, window_place)
  1829.     def add_with_viewport(self, child):
  1830.         _gtk.gtk_scrolled_window_add_with_viewport(self._o, child._o)
  1831.  
  1832. class GtkSocket(GtkContainer):
  1833.     get_type = _gtk.gtk_socket_get_type
  1834.     def __init__(self, _obj=None):
  1835.         if _obj: self._o = _obj; return
  1836.         self._o = _gtk.gtk_socket_new()
  1837.     def steal(self, wid):
  1838.         _gtk.gtk_socket_steal(self._o, wid)
  1839.  
  1840. class GtkTable(GtkContainer):
  1841.     get_type = _gtk.gtk_table_get_type
  1842.     def __init__(self, rows=1, cols=1, homogeneous=0, _obj=None):
  1843.         if _obj: self._o = _obj; return
  1844.         self._o = _gtk.gtk_table_new(rows, cols, homogeneous)
  1845.     def attach(self, child, la, ra, ta, ba, xoptions=EXPAND|FILL,
  1846.             yoptions=EXPAND|FILL, xpadding=0, ypadding=0):
  1847.         _gtk.gtk_table_attach(self._o, child._o, la,ra,ta,ba,
  1848.             xoptions,yoptions, xpadding,ypadding)
  1849.     def set_row_spacing(self, row, s):
  1850.         _gtk.gtk_table_set_row_spacing(self._o, row, s)
  1851.     def set_col_spacing(self, col, s):
  1852.         _gtk.gtk_table_set_col_spacing(self._o, col, s)
  1853.     def set_row_spacings(self, s):
  1854.         _gtk.gtk_table_set_row_spacings(self._o, s)
  1855.     def set_col_spacings(self, s):
  1856.         _gtk.gtk_table_set_col_spacings(self._o, s)
  1857.     def set_homogeneous(self, homogeneous):
  1858.             _gtk.gtk_table_set_homogeneous(self._o, homogeneous)
  1859.  
  1860. class GtkTree(GtkContainer):
  1861.     get_type = _gtk.gtk_tree_get_type
  1862.     def __init__(self, _obj=None):
  1863.         if _obj: self._o = _obj; return
  1864.         self._o = _gtk.gtk_tree_new()
  1865.     def get_selection(self):
  1866.         return map(_obj2inst, _gtk.gtk_tree_get_selection(self._o))
  1867.     def append(self, child):
  1868.         _gtk.gtk_tree_append(self._o, child._o)
  1869.     def prepend(self, child):
  1870.         _gtk.gtk_tree_prepend(self._o, child._o)
  1871.     def insert(self, child, pos):
  1872.         _gtk.gtk_tree_insert(self._o, child._o, pos)
  1873.     def remove_item(self, child):
  1874.         # fix this when the function starts existing
  1875.         #_gtk.gtk_tree_remove_item(self._o, child._o)
  1876.         self.remove_items([child])
  1877.     def remove_items(self, children):
  1878.         children = map(lambda x: x._o, children)
  1879.         _gtk.gtk_tree_remove_items(self._o, children)
  1880.     def clear_items(self, start, end):
  1881.         _gtk.gtk_tree_clear_items(self._o, start, end)
  1882.     def select_item(self, item):
  1883.         _gtk.gtk_tree_select_item(self._o, item)
  1884.     def unselect_item(self, item):
  1885.         _gtk.gtk_tree_unselect_item(self._o, item)
  1886.     def select_child(self, child):
  1887.         _gtk.gtk_tree_select_child(self._o, child._o)
  1888.     def unselect_child(self, child):
  1889.         _gtk.gtk_tree_unselect_child(self._o, child._o)
  1890.     def child_position(self, child):
  1891.         return _gtk.gtk_tree_child_position(self._o, child._o)
  1892.     def set_selection_mode(self, mode):
  1893.         _gtk.gtk_tree_set_selection_mode(self._o, mode)
  1894.     def set_view_mode(self, mode):
  1895.         _gtk.gtk_tree_set_view_mode(self._o, mode)
  1896.     def set_view_lines(self, flag):
  1897.         _gtk.gtk_tree_set_view_lines(self._o, flag)
  1898.  
  1899. class GtkToolbar(GtkContainer):
  1900.     get_type = _gtk.gtk_toolbar_get_type
  1901.     def __init__(self, orientation=ORIENTATION_HORIZONTAL,
  1902.              style=TOOLBAR_ICONS, _obj=None):
  1903.         if _obj: self._o = _obj; return
  1904.         self._o = _gtk.gtk_toolbar_new(orientation, style)
  1905.         def append_item(self, text, tooltip, tp, icon, callback):
  1906.         return _obj2inst(_gtk.gtk_toolbar_append_item(
  1907.             self._o, text, tooltip, tp, icon._o, callback))
  1908.     def append_space(self):
  1909.         _gtk.gtk_toolbar_append_space(self._o)
  1910.     def append_widget(self, w, tooltip, tp):
  1911.         _gtk.gtk_toolbar_append_widget(self._o, w._o, tooltip, tp)
  1912.     def insert_item(self, text, tooltip, tp, icon, callback, pos):
  1913.         return _obj2inst(_gtk.gtk_toolbar_insert_item(
  1914.             self._o, text, tooltip, tp, icon._o, callback, pos))
  1915.     def insert_space(self, pos):
  1916.         _gtk.gtk_toolbar_insert_space(self._o, pos)
  1917.     def insert_widget(self, w, tooltip, tp, pos):
  1918.         _gtk.gtk_toolbar_insert_widget(self._o, w._o, tooltip, tp, pos)
  1919.     def prepend_item(self, text, tooltip, tp, icon, callback):
  1920.         return _obj2inst(_gtk.gtk_toolbar_prepend_item(
  1921.             self._o, text, tooltip, tp, icon._o, callback))
  1922.     def prepend_space(self):
  1923.         _gtk.gtk_toolbar_prepend_space(self._o)
  1924.     def prepend_widget(self, w, tooltip, tp):
  1925.         _gtk.gtk_toolbar_prepend_widget(self._o, w._o, tooltip, tp)
  1926.            def set_orientation(self, orientation):
  1927.         _gtk.gtk_toolbar_set_orientation(self._o, orientation)
  1928.     def set_style(self, style):
  1929.         _gtk.gtk_toolbar_set_style(self._o, style)
  1930.     def set_space_size(self, size):
  1931.         _gtk.gtk_toolbar_set_space_size(self._o, size)
  1932.     def set_space_style(self, style):
  1933.         _gtk.gtk_toolbar_set_space_style(self._o, style)
  1934.     def set_tooltips(self, enable):
  1935.         _gtk.gtk_toolbar_set_tooltips(self._o, enable)
  1936.     def set_button_relief(self, relief):
  1937.         _gtk.gtk_toolbar_set_button_relief(self._o, relief)
  1938.     def get_button_relief(self):
  1939.         return _gtk.gtk_toolbar_get_button_relief(self._o)
  1940.  
  1941. class GtkDrawingArea(GtkWidget):
  1942.     get_type = _gtk.gtk_drawing_area_get_type
  1943.     def __init__(self, _obj=None):
  1944.         self.__win = None
  1945.         if _obj: self._o = _obj; return
  1946.         self._o = _gtk.gtk_drawing_area_new()
  1947.     def size(self, w, h):
  1948.         _gtk.gtk_drawing_area_size(self._o, w, h)
  1949.     def __cache_win(self):
  1950.         self.realize()
  1951.         self.__win = self.get_window()
  1952.     def draw_point(self, gc, x, y):
  1953.         if not self.__win: self.__cache_win()
  1954.         _gtk.gdk_draw_point(self.__win, gc, x, y)
  1955.     def draw_line(self, gc, x1, y1, x2, y2):
  1956.         if not self.__win: self.__cache_win()
  1957.         _gtk.gdk_draw_line(self.__win, gc, x1, y1, x2, y2)
  1958.     def draw_rectangle(self, gc, fill, x, y, width, height):
  1959.         if not self.__win: self.__cache_win()
  1960.         _gtk.gdk_draw_rectangle(self.__win, gc, fill, x, y,
  1961.                     width, height)
  1962.     def draw_arc(self, gc, fill, x, y, width, height, angle1, angle2):
  1963.         if not self.__win: self.__cache_win()
  1964.         _gtk.gdk_draw_arc(self.__win, gc, fill, x, y, width, height,
  1965.                   angle1, angle2)
  1966.     def draw_polygon(self, gc, fill, points):
  1967.         if not self.__win: self.__cache_win()
  1968.         _gtk.gdk_draw_polygon(self.__win, gc, fill, points)
  1969.     def draw_string(self, font, gc, x, y, string):
  1970.         if not self.__win: self.__cache_win()
  1971.         _gtk.gdk_draw_string(self.__win, font, gc, x, y, string)
  1972.     def draw_text(self, font, gc, x, y, text):
  1973.         if not self.__win: self.__cache_win()
  1974.         _gtk.gdk_draw_text(self.__win, font, gc, x, y, text)
  1975.     def draw_pixmap(self, gc, src, xsrc,ysrc, xdest,ydest, width,height):
  1976.         if not self.__win: self.__cache_win()
  1977.         _gtk.gdk_draw_pixmap(self.__win, gc, src, xsrc,ysrc,
  1978.                      xdest,ydest, width,height)
  1979.     def draw_points(self, gc, points):
  1980.         if not self.__win: self.__cache_win()
  1981.         _gtk.gdk_draw_points(self.__win, gc, points)
  1982.     def draw_segments(self, gc, segs):
  1983.         if not self.__win: self.__cache_win()
  1984.         _gtk.gdk_draw_segments(self.__win, gc, segs)
  1985.     def draw_lines(self, gc, points):
  1986.         if not self.__win: self.__cache_win()
  1987.         _gtk.gdk_draw_lines(self.__win, gc, points)
  1988.     # these are the gdkrgb functions
  1989.     def draw_rgb_image(self, gc, x, y, width, height,
  1990.                dither, buffer, rowstride):
  1991.         if not self.__win: self.__cache_win()
  1992.         _gtk.gdk_draw_rgb_image(self.__win, gc, x, y, width, height,
  1993.                     dither, buffer, rowstride)
  1994.     def draw_rgb_32_image(self, gc, x, y, width, height,
  1995.                   dither, buffer, rowstride):
  1996.         if not self.__win: self.__cache_win()
  1997.         _gtk.gdk_draw_rgb_32_image(self.__win, gc, x, y, width, height,
  1998.                        dither, buffer, rowstride)
  1999.     def draw_gray_image(self, gc, x, y, width, height,
  2000.                 dither, buffer, rowstride):
  2001.         if not self.__win: self.__cache_win()
  2002.         _gtk.gdk_draw_gray_image(self.__win, gc, x, y, width, height,
  2003.                      dither, buffer, rowstride)
  2004.  
  2005.     # see the comment for draw_array closer to the bottom of this file.
  2006.     if hasattr(_gtk, "gdk_draw_array"):
  2007.         def draw_array(self, gc, x, y, dither, array):
  2008.             if not self.__win: self.__cache_win()
  2009.             _gtk.gdk_draw_array(self.__win, gc, x, y, dither,array)
  2010.  
  2011.  
  2012. class GtkCurve(GtkDrawingArea):
  2013.     get_type = _gtk.gtk_curve_get_type
  2014.     def __init__(self, _obj=None):
  2015.         if _obj: self._o = _obj; return
  2016.         self._o = _gtk.gtk_curve_new()
  2017.     def reset(self):
  2018.         _gtk.gtk_curve_reset(self._o)
  2019.     def get_vector(self, size=-1):
  2020.         return _gtk.gtk_curve_get_vector(self._o, size)
  2021.     def set_vector(self, vector):
  2022.         _gtk.gtk_curve_set_vector(self._o, vector)
  2023.     def set_gamma(self, g):
  2024.         _gtk.gtk_curve_set_gamma(self._o, g)
  2025.     def set_range(self, minx,maxx, miny,maxy):
  2026.         _gtk.gtk_curve_set_range(self._o, minx,maxx, miny,maxy)
  2027.     def set_curve_type(self, tp):
  2028.         _gtk.gtk_curve_set_curve_type(self._o, tp)
  2029.  
  2030. class GtkEditable(GtkWidget):
  2031.     get_type = _gtk.gtk_editable_get_type
  2032.     def __init__(self, _obj=None):
  2033.         if _obj: self._o = _obj; return
  2034.     def __getattr__(self, attr):
  2035.         attrs = {
  2036.         'selection_start_pos':
  2037.         _gtk.gtk_editable_get_selection_start_pos,
  2038.         'selection_end_pos':
  2039.         _gtk.gtk_editable_get_selection_end_pos,
  2040.         }
  2041.         if attrs.has_key(attr):
  2042.             return attrs[attr](self._o)
  2043.         return GtkWidget.__getattr__(self, attr)
  2044.     def select_region(self, start, end):
  2045.         _gtk.gtk_editable_select_region(self._o, start, end)
  2046.     def insert_text(self, new_text):
  2047.         return _gtk.gtk_editable_insert_text(self._o, new_text)
  2048.     def delete_text(self, start, end):
  2049.         _gtk.gtk_editable_delete_text(self._o, start, end)
  2050.     def get_chars(self, start, end):
  2051.         return _gtk.gtk_editable_get_chars(self._o, start, end)
  2052.     def cut_clipboard(self):
  2053.         _gtk.gtk_editable_cut_clipboard(self._o)
  2054.     def copy_clipboard(self):
  2055.         _gtk.gtk_editable_copy_clipboard(self._o)
  2056.     def paste_clipboard(self):
  2057.         _gtk.gtk_editable_paste_clipboard(self._o)
  2058.     def claim_selection(self, claim, time):
  2059.         _gtk.gtk_editable_claim_selection(self._o, claim, time)
  2060.     def delete_selection(self):
  2061.         _gtk.gtk_editable_delete_selection(self._o)
  2062.     def changed(self):
  2063.         _gtk.gtk_editable_changed(self._o)
  2064.     def set_position(self, pos):
  2065.         _gtk.gtk_editable_set_position(self._o, pos)
  2066.     def get_position(self):
  2067.         return _gtk.gtk_editable_get_position(self._o)
  2068.     def set_editable(self, is_editable):
  2069.         _gtk.gtk_editable_set_editable(self._o, is_editable)
  2070.  
  2071. class GtkEntry(GtkEditable):
  2072.     get_type = _gtk.gtk_entry_get_type
  2073.     def __init__(self, maxlen=-1, _obj=None):
  2074.         if _obj: self._o = _obj; return
  2075.         if maxlen == -1:
  2076.             self._o = _gtk.gtk_entry_new()
  2077.         else:
  2078.             self._o = _gtk.gtk_entry_new_with_max_length(maxlen)
  2079.     def set_text(self, text):
  2080.         _gtk.gtk_entry_set_text(self._o, text)
  2081.     def append_text(self, text):
  2082.         _gtk.gtk_entry_append_text(self._o, text)
  2083.     def prepend_text(self, text):
  2084.         _gtk.gtk_entry_prepend_text(self._o, text)
  2085.     def set_position(self, pos):
  2086.         _gtk.gtk_entry_set_position(self._o, pos)
  2087.     def get_text(self):
  2088.         return _gtk.gtk_entry_get_text(self._o)
  2089.     def select_region(self, start, stop):
  2090.         _gtk.gtk_entry_select_region(self._o, start, stop)
  2091.     def set_visibility(self, visible):
  2092.         _gtk.gtk_entry_set_visibility(self._o, visible)
  2093.     def set_editable(self, editable):
  2094.         _gtk.gtk_entry_set_editable(self._o, editable)
  2095.     def set_max_length(self, max):
  2096.         _gtk.gtk_entry_set_max_length(self._o, max)
  2097.  
  2098. class GtkSpinButton(GtkEntry):
  2099.     get_type = _gtk.gtk_spin_button_get_type
  2100.     def __init__(self, adj=None, climb_rate=1, digits=1, _obj=None):
  2101.         if _obj: self._o = _obj; return
  2102.         if adj:
  2103.             adj = adj._o
  2104.         self._o = _gtk.gtk_spin_button_new(adj, climb_rate, digits)
  2105.     def set_adjustment(self, adj):
  2106.         _gtk.gtk_spin_button_set_adjustment(self._o, adj._o)
  2107.     def get_adjustment(self):
  2108.         return _obj2inst(_gtk.gtk_spin_button_get_adjustment(self._o))
  2109.     def set_digits(self, digits):
  2110.         _gtk.gtk_spin_button_set_digits(self._o, digits)
  2111.     def get_value_as_float(self):
  2112.         return _gtk.gtk_spin_button_get_value_as_float(self._o)
  2113.     def get_value_as_int(self):
  2114.         return _gtk.gtk_spin_button_get_value_as_int(self._o)
  2115.     get_value = get_value_as_float
  2116.     def set_value(self, val):
  2117.         _gtk.gtk_spin_button_set_value(self._o, val)
  2118.     def set_update_policy(self, pol):
  2119.         _gtk.gtk_spin_button_set_update_policy(self._o, pol)
  2120.     def set_numeric(self, numeric):
  2121.         _gtk.gtk_spin_button_set_numeric(self._o, numeric)
  2122.     def spin(self, direction, step):
  2123.         _gtk.gtk_spin_button_spin(self._o, direction, step)
  2124.     def set_wrap(self, wrap):
  2125.             _gtk.gtk_spin_button_set_wrap(self._o, wrap)
  2126.     def set_shadow_type(self, shadow_type):
  2127.         _gtk.gtk_spin_button_set_shadow_type(self._o, shadow_type)
  2128.     def set_snap_to_ticks(self, snap):
  2129.         _gtk.gtk_spin_button_set_snap_to_ticks(self._o, snap)
  2130.     def update(self):
  2131.         _gtk.gtk_spin_button_update(self._o)
  2132.  
  2133. class GtkText(GtkEditable):
  2134.     get_type = _gtk.gtk_text_get_type
  2135.     def __init__(self, hadj=None, vadj=None, _obj=None):
  2136.         if _obj: self._o = _obj; return
  2137.         if hadj: hadj = hadj._o
  2138.         if vadj: vadj = vadj._o
  2139.         self._o = _gtk.gtk_text_new(hadj, vadj)
  2140.     def set_editable(self, editable):
  2141.         _gtk.gtk_text_set_editable(self._o, editable)
  2142.     def set_word_wrap(self, word_wrap):
  2143.         _gtk.gtk_text_set_word_wrap(self._o, word_wrap)
  2144.     def set_line_wrap(self, line_wrap):
  2145.         _gtk.gtk_text_set_line_wrap(self._o, line_wrap)
  2146.     def set_adjustments(self, hadj, vadj):
  2147.         _gtk.gtk_text_set_adjustments(self._o, hadj._o, vadj._o)
  2148.     def get_hadjustment(self):
  2149.         return _obj2inst(_gtk.gtk_text_get_hadj(self._o))
  2150.     def get_vadjustment(self):
  2151.         return _obj2inst(_gtk.gtk_text_get_vadj(self._o))
  2152.     def set_point(self, point):
  2153.         _gtk.gtk_text_set_point(self._o, point)
  2154.     def get_point(self):
  2155.         return _gtk.gtk_text_get_point(self._o)
  2156.     def get_length(self):
  2157.         return _gtk.gtk_text_get_length(self._o)
  2158.     def freeze(self, obj=None):
  2159.         _gtk.gtk_text_freeze(self._o)
  2160.     def thaw(self, obj=None):
  2161.         _gtk.gtk_text_thaw(self._o)
  2162.     def insert(self, font, fg, bg, string):
  2163.         _gtk.gtk_text_insert(self._o, font, fg, bg, string,
  2164.                      len(string))
  2165.     def insert_defaults(self, chars):
  2166.         _gtk.gtk_text_insert_defaults(self._o, chars)
  2167.     def backward_delete(self, nchars):
  2168.         _gtk.gtk_text_backward_delete(self._o, nchars)
  2169.     def forward_delete(self, nchars):
  2170.         _gtk.gtk_text_forward_delete(self._o, nchars)
  2171.  
  2172. class GtkMisc(GtkWidget):
  2173.     get_type = _gtk.gtk_misc_get_type
  2174.     def __init__(self, _obj=None):
  2175.         if _obj: self._o = _obj; return
  2176.     def set_alignment(self, xa, ya):
  2177.         _gtk.gtk_misc_set_alignment(self._o, xa, ya)
  2178.     def set_padding(self, xp, yp):
  2179.         _gtk.gtk_misc_set_padding(self._o, xp, yp)
  2180.  
  2181. class GtkArrow(GtkMisc):
  2182.     get_type = _gtk.gtk_arrow_get_type
  2183.     def __init__(self, at=ARROW_RIGHT, st=SHADOW_OUT, _obj=None):
  2184.         if _obj: self._o = _obj; return
  2185.         self._o = _gtk.gtk_arrow_new(at, st)
  2186.     def set(self, at, st):
  2187.         _gtk.gtk_arrow_set(self._o, at, st)
  2188.  
  2189. class GtkPixmap(GtkMisc):
  2190.     get_type = _gtk.gtk_pixmap_get_type
  2191.     def __init__(self, parent_or_pixmap=None, xpm_or_mask=None, bg=None,
  2192.              _obj=None):
  2193.         # This function can be called with two argument models:
  2194.         # The old model:
  2195.         #  GtkPixmap(parent_win, xpm_file, bg_colour)
  2196.         # or the one closer to the C version:
  2197.         #  GtkPixmap(pixmap, mask)
  2198.         if _obj: self._o = _obj; return
  2199.         if type(xpm_or_mask) == type(''):
  2200.             pix, mask = create_pixmap_from_xpm(parent_or_pixmap,
  2201.                                bg, xpm_or_mask)
  2202.             self._o = _gtk.gtk_pixmap_new(pix, mask)
  2203.         else:
  2204.             self._o = _gtk.gtk_pixmap_new(parent_or_pixmap,
  2205.                               xpm_or_mask)
  2206.     def get(self):
  2207.         return _gtk.gtk_pixmap_get(self._o)
  2208.     def set(self, pixmap, mask):
  2209.         _gtk.gtk_pixmap_set(self._o, pixmap, mask)
  2210.     def set_build_insensitive(self, build):
  2211.         _gtk.gtk_pixmap_set_build_insensitive(self._o, build)
  2212.  
  2213. class GtkLabel(GtkMisc):
  2214.     get_type = _gtk.gtk_label_get_type
  2215.     def __init__(self, label="", _obj=None):
  2216.         if _obj: self._o = _obj; return
  2217.         self._o = _gtk.gtk_label_new(label)
  2218.     def set(self, str):
  2219.         print "GtkLabel.set deprecated -- use set_text"
  2220.         self.set_text(str)
  2221.     def set_text(self, str):
  2222.         _gtk.gtk_label_set_text(self._o, str)
  2223.     def set_justify(self, jtype):
  2224.         _gtk.gtk_label_set_justify(self._o, jtype)
  2225.     def set_line_wrap(self, wrap):
  2226.         _gtk.gtk_label_set_line_wrap(self._o, wrap)
  2227.     def set_pattern(self, pattern):
  2228.         _gtk.gtk_label_set_pattern(self._o, pattern)
  2229.     def get(self):
  2230.         return _gtk.gtk_label_get(self._o)
  2231.     def parse_uline(self, string):
  2232.         return _gtk.gtk_label_parse_uline(self._o, string)
  2233.  
  2234. class GtkAccelLabel(GtkLabel):
  2235.     get_type = _gtk.gtk_accel_label_get_type
  2236.     def __init__(self, string=None, _obj=None):
  2237.         if _obj: self._o = _obj; return
  2238.         self._o = _gtk.gtk_accel_label_new(string)
  2239.     def accelerator_width(self):
  2240.         print "accelerator_width deprecated -- use get_accel_width"
  2241.         return self.get_accel_width()
  2242.     def get_accel_width(self):
  2243.         return _gtk.gtk_accel_label_get_accel_width(self._o)
  2244.     def set_accel_widget(self, widget):
  2245.         _gtk.gtk_accel_label_set_accel_widget(self._o, widget._o)
  2246.     def refetch(self):
  2247.         _gtk.gtk_accel_label_refetch(self._o)
  2248.  
  2249. class GtkTipsQuery(GtkLabel):
  2250.     get_type = _gtk.gtk_tips_query_get_type
  2251.     def __init__(self, _obj=None):
  2252.         if _obj: self._o = _obj; return
  2253.         self._o = _gtk.gtk_tips_query_new()
  2254.     def start_query(self, obj=None):
  2255.         _gtk.gtk_tips_query_start_query(self._o)
  2256.     def stop_query(self, obj=None):
  2257.         _gtk.gtk_tips_query_stop_query(self._o)
  2258.     def set_caller(self, caller):
  2259.         _gtk.gtk_tips_query_set_caller(self._o, caller._o)
  2260.     def set_labels(self, inactive, no_tip):
  2261.         _gtk.gtk_tips_query_set_labels(self._o, inactive, no_tip)
  2262.  
  2263. class GtkPreview(GtkWidget):
  2264.     get_type = _gtk.gtk_preview_get_type
  2265.     def __init__(self, type=PREVIEW_COLOR, _obj=None):
  2266.         if _obj: self._o = _obj; return
  2267.         self._o = _gtk.gtk_preview_new(type)
  2268.     def size(self, w, h):
  2269.         _gtk.gtk_preview_size(self._o, w, h)
  2270.     def put(self, win, gc, srcx, srcy, dstx, dsty, width, height):
  2271.         _gtk.gtk_preview_put(self._o, win, gc, srcx, srcy,
  2272.                      dstx, dsty, width, height)
  2273.     def draw_row(self, data, x, y, w=None):
  2274.         _gtk.gtk_preview_draw_row(self._o, data, x, y, w or len(data))
  2275.     def set_expand(self, expand):
  2276.         _gtk.gtk_preview_set_expand(self._o, expand)
  2277.     def set_gamma(self, gamma):
  2278.         _gtk.gtk_preview_set_gamma(self._o, gamma)
  2279.     def set_color_cube(self, nr, ng, nb, ngrey):
  2280.         _gtk.gtk_preview_set_color_cube(self._o, nr,ng,nb, ngrey)
  2281.     def set_install_cmap(self, install):
  2282.         _gtk.gtk_preview_set_install_cmap(install)
  2283.     def set_reserved(self, reserved):
  2284.         _gtk.gtk_preview_set_reserved(reserved)
  2285.     def set_dither(self, dither):
  2286.         _gtk.gtk_preview_set_dither(self._o, dither)
  2287.  
  2288. class GtkProgress(GtkWidget):
  2289.     get_type = _gtk.gtk_progress_get_type
  2290.     def __init__(self, _obj=None):
  2291.         if _obj: self._o = _obj; return
  2292.     def set_show_text(self, show_text):
  2293.         _gtk.gtk_progress_set_show_text(self._o, show_text)
  2294.     def set_text_alignment(self, x_align, y_align):
  2295.         _gtk.gtk_progress_set_text_alignment(self._o, x_align,
  2296.                              y_align)
  2297.     def set_format_string(self, format):
  2298.         _gtk.gtk_progress_set_format_string(self._o, format)
  2299.     def set_adjustment(self, adj):
  2300.         _gtk.gtk_progress_set_adjustment(self._o, adj._o)
  2301.     def reconfigure(self, value, min, max):
  2302.         print "reconfigure deprecated -- use configure"
  2303.         self.configure(value, min, max)
  2304.     def configure(self, value, min, max):
  2305.         _gtk.gtk_progress_configure(self._o, value, min, max)
  2306.     def set_percentage(self, pcnt):
  2307.         _gtk.gtk_progress_set_percentage(self._o, pcnt)
  2308.     def set_value(self, value):
  2309.         _gtk.gtk_progress_set_value(self._o, value)
  2310.     def get_value(self):
  2311.         return _gtk.gtk_progress_get_value(self._o)
  2312.     def set_activity_mode(self, activity_mode):
  2313.         _gtk.gtk_progress_set_activity_mode(self._o, activity_mode)
  2314.     def get_current_text(self):
  2315.         return _gtk.gtk_progress_get_current_text(self._o)
  2316.     def get_text_from_value(self, value):
  2317.         return _gtk.gtk_progress_get_text_from_value(self._o, value)
  2318.     def get_current_percentage(self):
  2319.         return _gtk.gtk_progress_get_current_percentage(self._o)
  2320.     def get_percentage_from_value(self, value):
  2321.         return _gtk.gtk_progress_get_percentage_from_value(self._o,
  2322.                                    value)
  2323.  
  2324. class GtkProgressBar(GtkProgress):
  2325.     get_type = _gtk.gtk_progress_bar_get_type
  2326.     def __init__(self, adjustment=None, _obj=None):
  2327.         if _obj: self._o = _obj; return
  2328.         if adjustment:
  2329.             self._o = _gtk.gtk_progress_bar_new_with_adjustment(
  2330.                 adjustment._o)
  2331.         else:
  2332.             self._o = _gtk.gtk_progress_bar_new()
  2333.     def set_bar_style(self, style):
  2334.         _gtk.gtk_progress_bar_set_bar_style(self._o, style)
  2335.     def set_discrete_blocks(self, blocks):
  2336.         _gtk.gtk_progress_bar_set_discrete_blocks(self._o, blocks)
  2337.     def set_activity_step(self, step):
  2338.         _gtk.gtk_progress_bar_set_activity_step(self._o, step)
  2339.     def set_activity_blocks(self, blocks):
  2340.         _gtk.gtk_progress_bar_set_activity_blocks(self._o, blocks)
  2341.     def set_orientation(self, orient):
  2342.         _gtk.gtk_progress_bar_set_orientation(self._o, orient)
  2343.     def update(self, pcnt):
  2344.         _gtk.gtk_progress_bar_update(self._o, pcnt)
  2345.  
  2346. class GtkRange(GtkWidget):
  2347.     get_type = _gtk.gtk_range_get_type
  2348.     def __init__(self, _obj=None):
  2349.         if _obj: self._o = _obj; return
  2350.     def get_adjustment(self):
  2351.         return _obj2inst(_gtk.gtk_range_get_adjustment(self._o))
  2352.     def set_update_policy(self, pol):
  2353.         _gtk.gtk_range_set_update_policy(self._o, pol)
  2354.     def set_adjustment(self, adj):
  2355.         _gtk.gtk_range_set_adjustment(self._o, adj._o)
  2356.     def draw_background(self, obj=None):
  2357.         _gtk.gtk_range_draw_background(self._o)
  2358.     def clear_background(self, _obj=None):
  2359.         _gtk.gtk_range_clear_background(self._o)
  2360.     def draw_trough(self, obj=None):
  2361.         _gtk.gtk_range_draw_trough(self._o)
  2362.     def draw_step_forw(self, obj=None):
  2363.         _gtk.gtk_range_draw_step_forw(self._o)
  2364.     def draw_step_back(self, obj=None):
  2365.         _gtk.gtk_range_draw_step_back(self._o)
  2366.  
  2367. class GtkScale(GtkRange):
  2368.     get_type = _gtk.gtk_scale_get_type
  2369.     def __init__(self, _obj=None):
  2370.         if _obj: self._o = _obj; return
  2371.     def set_digits(self, digits):
  2372.         _gtk.gtk_scale_set_digits(self._o, digits)
  2373.     def set_draw_value(self, draw_value):
  2374.         _gtk.gtk_scale_set_draw_value(self._o, draw_value)
  2375.     def set_value_pos(self, pos):
  2376.         _gtk.gtk_scale_set_value_pos(self._o, pos)
  2377.     def value_width(self):
  2378.         print "value_width deprecated -- use get_value_width"
  2379.         return self.get_value_width()
  2380.     def get_value_width(self):
  2381.         return _gtk.gtk_scale_get_value_width(self._o)
  2382.     def draw_value(self, obj=None):
  2383.         _gtk.gtk_scale_draw_value(self._o)
  2384.  
  2385. class GtkHScale(GtkScale):
  2386.     get_type = _gtk.gtk_hscale_get_type
  2387.     def __init__(self, adj=None, _obj=None):
  2388.         if _obj: self._o = _obj; return
  2389.         if adj: adj = adj._o
  2390.         self._o = _gtk.gtk_hscale_new(adj)
  2391.  
  2392. class GtkVScale(GtkScale):
  2393.     get_type = _gtk.gtk_vscale_get_type
  2394.     def __init__(self, adj=None, _obj=None):
  2395.         if _obj: self._o = _obj; return
  2396.         if adj: adj = adj._o
  2397.         self._o = _gtk.gtk_vscale_new(adj)
  2398.  
  2399. class GtkScrollbar(GtkRange):
  2400.     get_type = _gtk.gtk_scrollbar_get_type
  2401.     def __init__(self, _obj=None):
  2402.         if _obj: self._o = _obj; return
  2403.  
  2404. class GtkHScrollbar(GtkScrollbar):
  2405.     get_type = _gtk.gtk_hscrollbar_get_type
  2406.     def __init__(self, adj=None, _obj=None):
  2407.         if _obj: self._o = _obj; return
  2408.         if adj: adj = adj._o
  2409.         self._o = _gtk.gtk_hscrollbar_new(adj)
  2410.  
  2411. class GtkVScrollbar(GtkScrollbar):
  2412.     get_type = _gtk.gtk_vscrollbar_get_type
  2413.     def __init__(self, adj=None, _obj=None):
  2414.         if _obj: self._o = _obj; return
  2415.         if adj: adj = adj._o
  2416.         self._o = _gtk.gtk_vscrollbar_new(adj)
  2417.  
  2418. class GtkRuler(GtkWidget):
  2419.     get_type = _gtk.gtk_ruler_get_type
  2420.     def __init__(self, _obj=None):
  2421.         if _obj: self._o = _obj; return
  2422.     def set_metric(self, metric):
  2423.         _gtk.gtk_ruler_set_metric(self._o, metric)
  2424.     def set_range(self, lo, up, pos, max):
  2425.         _gtk.gtk_ruler_set_range(self._o, lo, up, pos, max)
  2426.     def draw_ticks(self, obj=None):
  2427.         _gtk.gtk_ruler_draw_ticks(self._o)
  2428.     def draw_pos(self, obj=None):
  2429.         _gtk.gtk_ruler_draw_pos(self._o)
  2430.  
  2431. class GtkHRuler(GtkRuler):
  2432.     get_type = _gtk.gtk_hruler_get_type
  2433.     def __init__(self, _obj=None):
  2434.         if _obj: self._o = _obj; return
  2435.         self._o = _gtk.gtk_hruler_new()
  2436.  
  2437. class GtkVRuler(GtkRuler):
  2438.     get_type = _gtk.gtk_vruler_get_type
  2439.     def __init__(self, _obj=None):
  2440.         if _obj: self._o = _obj; return
  2441.         self._o = _gtk.gtk_vruler_new()
  2442.  
  2443. class GtkSeparator(GtkWidget):
  2444.     get_type = _gtk.gtk_separator_get_type
  2445.     def __init__(self, _obj=None):
  2446.         if _obj: self._o = _obj; return
  2447.  
  2448. class GtkHSeparator(GtkSeparator):
  2449.     get_type = _gtk.gtk_hseparator_get_type
  2450.     def __init__(self, _obj=None):
  2451.         if _obj: self._o = _obj; return
  2452.         self._o = _gtk.gtk_hseparator_new()
  2453.  
  2454. class GtkVSeparator(GtkSeparator):
  2455.     get_type = _gtk.gtk_vseparator_get_type
  2456.     def __init__(self, _obj=None):
  2457.         if _obj: self._o = _obj; return
  2458.         self._o = _gtk.gtk_vseparator_new()
  2459.  
  2460.  
  2461. _name2cls = {}
  2462. _supported = map(lambda x: eval(x), filter(lambda x: x[:3] == 'Gtk', dir()))
  2463. for m in _supported:
  2464.     _name2cls[m.__name__] = m
  2465. del m
  2466.  
  2467. class GtkAccelGroup:
  2468.     def __init__(self, _obj=None):
  2469.         if _obj: self._ag = _obj; return
  2470.         self._ag = _gtk.gtk_accel_group_new()
  2471.     def __cmp__(self, other):
  2472.             if hasattr(other, '_ag'):
  2473.             return cmp(self._ag, other._ag)
  2474.         else:
  2475.             return cmp(id(self), id(other))
  2476.     def __hash__(self):
  2477.         return hash(self._ag)
  2478.     def activate(self, key, mods):
  2479.         _gtk.gtk_accel_group_activate(self._ag, key, mods)
  2480.     def attach(self, obj):
  2481.         _gtk.gtk_accel_group_attach(self._ag, obj._o)
  2482.     def detach(self, obj):
  2483.         _gtk.gtk_accel_group_detach(self._ag, obj._o)
  2484.     def lock(self):
  2485.         _gtk.gtk_accel_group_lock(self._ag)
  2486.     def unlock(self):
  2487.         _gtk.gtk_accel_group_unlock(self._ag)
  2488.     def lock_entry(self, key, mods):
  2489.         _gtk.gtk_accel_group_lock_entry(self._ag, key, mods)
  2490.     def unlock_entry(self, key, mods):
  2491.         _gtk.gtk_accel_group_unlock_entry(self._ag, key, mods)
  2492.     def add(self, key, mods, flags, obj, signal):
  2493.         _gtk.gtk_accel_group_add(self._ag, key, mods, flags,
  2494.                      obj._o, signal)
  2495.     def remove(self, key, mods, obj):
  2496.         _gtk.gtk_accel_group_remove(self._ag, key, mods, obj._o)
  2497.  
  2498. def _obj2inst(obj):
  2499.     objname = _gtk.gtk_type_name(_gtk.GTK_OBJECT_TYPE(obj))
  2500.     if _name2cls.has_key(objname):
  2501.         return _name2cls[objname](_obj=obj)
  2502.     # if I don't know what the object is, guess
  2503.     elif _gtk.GTK_CHECK_TYPE(obj, GtkBox.get_type()):
  2504.         return GtkBox(_obj=obj)
  2505.     elif _gtk.GTK_CHECK_TYPE(obj, GtkBin.get_type()):
  2506.         return GtkBin(_obj=obj)
  2507.     elif _gtk.GTK_CHECK_TYPE(obj, GtkWindow.get_type()):
  2508.         return GtkWindow(_obj=obj)
  2509.     elif _gtk.GTK_CHECK_TYPE(obj, GtkContainer.get_type()):
  2510.         return GtkContainer(_obj=obj)
  2511.     elif _gtk.GTK_CHECK_TYPE(obj, GtkWidget.get_type()):
  2512.         return GtkWidget(_obj=obj)
  2513.     else:
  2514.         return GtkObject(_obj=obj)
  2515.  
  2516. def _filtprops(props):
  2517.     for k in props.keys():
  2518.         v = props[k]
  2519.         if hasattr(v, '_o') and type(v._o) == _gtk.GtkObjectType:
  2520.             props[k] = v._o
  2521.         elif hasattr(v, '_ag') and type(v._ag)==_gtk.GtkAccelGroupType:
  2522.             props[k] = v._ag
  2523.         elif hasattr(v, '_im'):
  2524.             props[k] = v._im
  2525.  
  2526. def new(tp, **props):
  2527.     if type(tp) == type(GtkObject):
  2528.         tp = tp.get_type()
  2529.     elif type(tp) == type('forty-two'): 
  2530.         tp = _name2cls[tp].get_type()
  2531.     elif type(tp) != type(0):
  2532.         raise TypeError, "unknow type argument: " + tp
  2533.     _filtprops(props)
  2534.     return _obj2inst(_gtk.gtk_object_new(tp, props))
  2535.  
  2536. # flow control
  2537. def mainloop():
  2538.     _gtk.gtk_main()
  2539. def mainquit(*args):
  2540.     _gtk.gtk_main_quit()
  2541. def mainiteration(block=TRUE):
  2542.     return _gtk.gtk_main_iteration(block)
  2543. def events_pending():
  2544.     return _gtk.gtk_events_pending()
  2545.  
  2546. # idle/quit/timeout handlers
  2547. def idle_add(callback, *args):
  2548.     return _gtk.gtk_idle_add(callback, args)
  2549. def idle_add_priority(priority, callback):
  2550.     return _gtk.gtk_idle_add_priority(priority, callback)
  2551. def idle_remove(tag):
  2552.     _gtk.gtk_idle_remove(tag)
  2553. def quit_add(mainlevel, callback, *args):
  2554.         return _gtk.gtk_quit_add(mainlevel, callback, args)
  2555. def quit_add_destroy(mainlevel, object):
  2556.     _gtk.gtk_quit_add_destroy(mainlevel, object._o)
  2557. def quit_remove(tag):
  2558.     _gtk.gtk_quit_remove(tag)
  2559. def timeout_add(timeout, callback, *args):
  2560.     return _gtk.gtk_timeout_add(timeout, callback, args)
  2561. def timeout_remove(tag):
  2562.     _gtk.gtk_timeout_remove(tag)
  2563.  
  2564. # input (file handle) handler
  2565. def input_add(source, condition, callback):
  2566.     if hasattr(source, 'fileno'):
  2567.         # handle python file handles
  2568.         def wrapper(source, condition, real_s=source,real_cb=callback):
  2569.             real_cb(real_s, condition)
  2570.         return _gtk.gtk_input_add(source.fileno(), condition, wrapper)
  2571.     else:
  2572.         return _gtk.gtk_input_add(source, condition, callback)
  2573. def input_remove(tag):
  2574.     _gtk.gtk_input_remove(tag)
  2575.  
  2576. # these functions govern modality
  2577. def grab_add(wid):
  2578.     _gtk.gtk_grab_add(wid._o)
  2579. def grab_remove(wid):
  2580.     _gtk.gtk_grab_remove(wid._o)
  2581. def grab_get_current():
  2582.     return _obj2inst(_gtk.gtk_grab_get_current())
  2583.  
  2584. # RC parsing
  2585. def rc_parse(fname):
  2586.     _gtk.gtk_rc_parse(fname)
  2587. def rc_parse_string(string):
  2588.     _gtk.gtk_rc_parse_string(string)
  2589. def rc_reparse_all():
  2590.     _gtk.gtk_rc_repase_all()
  2591.  
  2592. # font loading
  2593. def load_font(font):
  2594.     return _gtk.gdk_font_load(font)
  2595. def load_fontset(fontset):
  2596.     return _gtk.gdk_fontset_load(fontset)
  2597.  
  2598. # cursor loading
  2599. def cursor_new(type):
  2600.     return _gtk.gdk_cursor_new(type)
  2601. def cursor_new_from_pixmap(source, mask, fg, bg, x, y):
  2602.     return _gtk.gdk_cursor_new_from_pixmap(source, mask, fg, bg, x, y)
  2603.  
  2604. # colour allocation
  2605. def colour_alloc(parent, red, green=None, blue=None):
  2606.     print "colour_alloc deprecated.  Use GdkColormap.alloc"
  2607.     if hasattr(parent, '_o'): cmap = parent.get_window().colormap
  2608.     elif hasattr(parent, 'colormap'): cmap = parent.colormap
  2609.     else: cmap = parent
  2610.     if type(red) == type(''):
  2611.         return cmap.alloc(red)
  2612.     # red assumed to be an int
  2613.     if green == None and blue == None:
  2614.         green, blue = divmod(red, 256)
  2615.         red, green  = divmod(green, 256)
  2616.         red = red % 256
  2617.  
  2618.         red   = (red   + 1) * 256 - 1
  2619.         green = (green + 1) * 256 - 1
  2620.         blue  = (blue  + 1) * 256 - 1
  2621.     return cmap.alloc(red, green, blue)
  2622. # This one's for the Americans...
  2623. color_alloc = colour_alloc
  2624.  
  2625. # atoms ...
  2626. def atom_intern(name, only_if_exists=FALSE):
  2627.     return _gtk.gdk_atom_intern(name, only_if_exists)
  2628. def atom_name(atom):
  2629.     return _gtk.gdk_atom_name(atom)
  2630.  
  2631. # pixmap loading
  2632. def create_pixmap_from_xpm(object, bg, xpm):
  2633.     if type(object) == _gtk.GdkWindowType:
  2634.         return _gtk.gdk_pixmap_create_from_xpm(object, bg, xpm)
  2635.     else:
  2636.         if hasattr(object, 'get_colormap'):
  2637.             cmap = object.get_colormap()
  2638.         elif hasattr(object, 'colormap'):
  2639.             cmap = object.colormap
  2640.         else:
  2641.             cmap = object
  2642.         return _gtk.gdk_pixmap_colormap_create_from_xpm(None, cmap,
  2643.                                 bg, xpm)
  2644. # use XPM data ...
  2645. def create_pixmap_from_xpm_d(object, bg, xpm_d):
  2646.     if type(object) == _gtk.GdkWindowType:
  2647.         return _gtk.gdk_pixmap_create_from_xpm_d(object, bg, xpm_d)
  2648.     else:
  2649.         if hasattr(object, 'get_colormap'):
  2650.             cmap = object.get_colormap()
  2651.         elif hasattr(object, 'colormap'):
  2652.             cmap = object.colormap
  2653.         else:
  2654.             cmap = object
  2655.         return _gtk.gdk_pixmap_colormap_create_from_xpm_d(None, cmap,
  2656.                                   bg, xpm_d)
  2657. def create_pixmap(window, width, height, depth=-1):
  2658.     if (hasattr(window, '_o')):
  2659.             window.realize()
  2660.         window = window.get_window()
  2661.     return _gtk.gdk_pixmap_new(window, width, height, depth)
  2662.  
  2663. def create_bitmap_from_data(window, data, width, height):
  2664.     return _gtk.gdk_bitmap_create_from_data(window, data, width, height)
  2665.  
  2666. # drawing functions...
  2667. def draw_point(drawable, gc, x, y):
  2668.     _gtk.gdk_draw_point(drawable, gc, x, y)
  2669. def draw_line(drawable, gc, x1, y1, x2, y2):
  2670.     _gtk.gdk_draw_line(drawable, gc, x1, y1, x2, y2)
  2671. def draw_rectangle(drawable, gc, fill, x, y, width, height):
  2672.     _gtk.gdk_draw_rectangle(drawable, gc, fill, x, y,
  2673.                 width, height)
  2674. def draw_arc(drawable, gc, fill, x, y, width, height, angle1, angle2):
  2675.     _gtk.gdk_draw_arc(drawable, gc, fill, x, y, width, height, angle1,
  2676.               angle2)
  2677. def draw_polygon(drawable, gc, fill, points):
  2678.     _gtk.gdk_draw_polygon(drawable, gc, fill, points)
  2679. def draw_string(drawable, font, gc, x, y, string):
  2680.     _gtk.gdk_draw_string(drawable, font, gc, x, y, string)
  2681. def draw_text(drawable, font, gc, x, y, text):
  2682.     _gtk.gdk_draw_text(drawable, font, gc, x, y, text)
  2683. def draw_pixmap(drawable, gc, src, xsrc,ysrc, xdest,ydest, width,height):
  2684.     _gtk.gdk_draw_pixmap(drawable, gc, src, xsrc,ysrc,
  2685.                  xdest,ydest, width,height)
  2686. def draw_points(drawable, gc, points):
  2687.     _gtk.gdk_draw_points(drawable, gc, points)
  2688. def draw_segments(drawable, gc, segs):
  2689.     _gtk.gdk_draw_segments(drawable, gc, segs)
  2690. def draw_lines(drawable, gc, points):
  2691.     _gtk.gdk_draw_lines(drawable, gc, points)
  2692.  
  2693. # these are the gdkrgb functions
  2694. def draw_rgb_image(drawable, gc, x, y, width, height,
  2695.            dither, buffer, rowstride):
  2696.     _gtk.gdk_draw_rgb_image(drawable, gc, x, y, width, height,
  2697.                 dither, buffer, rowstride)
  2698. def draw_rgb_32_image(drawable, gc, x, y, width, height,
  2699.            dither, buffer, rowstride):
  2700.     _gtk.gdk_draw_rgb_32_image(drawable, gc, x, y, width, height,
  2701.                    dither, buffer, rowstride)
  2702. def draw_gray_image(drawable, gc, x, y, width, height,
  2703.            dither, buffer, rowstride):
  2704.     _gtk.gdk_draw_gray_image(drawable, gc, x, y, width, height,
  2705.                  dither, buffer, rowstride)
  2706.  
  2707. # this function renders an unsigned byte (type code 'b') numpy array to a
  2708. # drawable.  If it is a MxN or MxNx1 array, it is assumed to be a grey image.
  2709. # If it is a MxNx3 or MxNx4 array, it is assumed to be an rgb image.
  2710. # It should accept images that have been sliced along their first two axes,
  2711. # if you want to only draw part of the image.
  2712. if hasattr(_gtk, "gdk_draw_array"):
  2713.     def draw_array(drawable, gc, x, y, dither, array):
  2714.         _gtk.gdk_draw_array(drawable, gc, x, y, dither, array)
  2715.  
  2716.  
  2717. # screen size
  2718. def screen_width():
  2719.     return _gtk.gdk_screen_width()
  2720. def screen_height():
  2721.     return _gtk.gdk_screen_height()
  2722.  
  2723. def screen_width_mm():
  2724.     return _gtk.gdk_screen_width_mm()
  2725. def screen_height_mm():
  2726.     return _gtk.gdk_screen_height_mm()
  2727.  
  2728. # thread support -- place calls to these arround gtk code in threads ...
  2729. def threads_enter():
  2730.     _gtk.gdk_threads_enter()
  2731. def threads_leave():
  2732.     _gtk.gdk_threads_leave()
  2733.  
  2734. def gdk_char_width(font, char):
  2735.     return _gtk.gdk_char_width(font, char)
  2736.  
  2737. def gdk_flush():
  2738.     _gtk.gdk_flush()
  2739.  
  2740. def gdk_beep():
  2741.     _gtk.gdk_beep()
  2742.  
  2743. # these actually push/pop a visual/colormap pair.
  2744. def push_rgb_visual():
  2745.     _gtk.gtk_rgb_push_visual()
  2746. def pop_visual():
  2747.     _gtk.gtk_pop_visual()
  2748.  
  2749. # these are prefixed with underscores, since they are low level, and
  2750. # would break if pygtk was ported to windows.
  2751. def _window_foreign_new(xid):
  2752.     return _gtk.gdk_window_foreign_new(xid)
  2753. def _root_window():
  2754.     return _gtk.gdk_get_root_win()
  2755.